首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在filled.contour()中回收的颜色

在filled.contour()中回收的颜色
EN

Stack Overflow用户
提问于 2011-11-14 22:37:09
回答 1查看 1.3K关注 0票数 1

我用以下代码使用filled.contour()可视化了一些数据:

代码语言:javascript
复制
filled.contour(x, y, z, col = rainbow(256),nlevels=(256),
  plot.title = title(main = "z",
  xlab = "x", ylab = "y"),
  key.title = title(main="T"),
)

这将生成以下图:

然而,当我尝试记录数据时,调色板被回收,这使得这种图像的意义有点没有意义...:

代码语言:javascript
复制
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()的值,但这也没有任何区别。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-14 23:14:45

如果我的矩阵中有负值(因此log(z)矩阵中的NA/NaN值也是负值),我可以重新生成一个类似的奇怪的图:

代码语言:javascript
复制
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的值--但我现在没有时间深入研究。

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8123143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档