我使用fill.contour()使用以下代码可视化一些数据:
filled.contour(x, y, z, col = rainbow(256),nlevels=(256),
plot.title = title(main = "z",
xlab = "x", ylab = "y"),
key.title = title(main="T"),
)
生成以下图:
然而,当我尝试记录数据时,调色板被回收,这使得这种图像的点有点无意义......:
filled.contour(x, y, log(z), col = rainbow(256),nlevels=(256),
plot.title = title(main = "z",
xlab = "x", ylab = "y"),
key.title = title(main="T"),
)
我还尝试过z <- log(z)
然后调用filled.contour(x,y,z,...)
,但这会产生相同的结果。我尝试更改传递给col=rainbow()
和nlevels()
的值,但这也没有任何区别。
答案 0 :(得分:0)
如果我的矩阵中有负值(因此我的log(z)矩阵中的NA / NaN值),我可以重现类似奇怪的绘图:
n <- 25; x <- y <- seq(n); z <- outer(x,y,function(x,y) (x-15)^2*(y-10)^3)
filled.contour(x,y,z,col=rainbow(256),nlevels=256)
filled.contour(x,y,log(z),col=rainbow(256),nlevels=256) ## warning: NaNs produced
filled.contour(x,y,log(pmax(z,0.001)),col=rainbow(256),nlevels=256)
我使用pmax
来解决问题,您的解决方案可能取决于您的问题。
我不确定这是你的问题,但是因为你没有给我们一个可重复的例子......
我必须说我还没有真正找到问题的根源 - 下面的简单示例即使使用Inf
值也给出了合理的答案 - 但我现在没有时间进一步挖掘
x <- 1:5
y <- 1:5
z <- matrix(outer(x,y,"+"),nrow=5)
filled.contour(x,y,z)
filled.contour(x,y,z,color.palette=rainbow)
z2 <- z
z2[5,5] <- Inf
filled.contour(x,y,z2,color.palette=rainbow)
filled.contour(x,y,z2,col=rainbow(100),nlevels=100)