R で levelplot() を使用して、マトリックス (36 X 32) のカラー イメージを生成しています。行列には多くの NaN 値が含まれています。次のコマンドを使用してレベルプロットを生成しようとすると
range = c(815.4, 816.2)
matpalette <- colorRampPalette(c("blue", "black", "red"))(100)
levelplot(t(m1),scales = list(draw = FALSE), col.regions = matpalette, xlab = "", ylab = "", at = seq(min(m1), max(m1), length = 100), main=main)
次のエラー メッセージが表示されます。
Error in seq.default(min(m1), max(m1), length = 100) : 'from' cannot be NA, NaN or infinite
このエラーは理解されています。levelplot() で min(m1) と max(m1) を使用する代わりに、次を使用しようとすると:
levelplot(m1,scales = list(draw = FALSE), col.regions = matpalette, xlab = "", ylab = "", at = seq(range[1], range[2], length = 100), main=main)
カラーバーと目盛り値として指定された範囲だけで、空のプロットを取得します。
私が必要としているのは、マトリックス内の値のプロットと、提供されている levelplot と同じカラーバーと同一の目盛り値です。誰でもこれで私を助けることができますか?
# バリアント 2
s <- seq(from=range[1], to=range[2], by=0.1)
levelplot(t(m1), scales=list(tick.number=0), xlab=" ", ylab=" ", colorkey = list(at=s, labels=as.character(s)),col.regions = two.colors(n=256, start='blue', end='red', middle='black'), main=main)
私が得るカラーバーはこのようなものです
注:使用範囲が異なります