在R中为网格着色

时间:2013-03-26 12:07:30

标签: r colors

我想根据z的值为我绘制的图片着色,举个例子

x<-y<-seq(-2*pi, 2*pi, pi/15)
f<-function(x,y) sin(x)*sin(y)
z<-outer(x,y, f)
#contour(x,y,z,col="blue")
persp(x,y,z,theta=30, phi=30, expand=0.7,col=heat.colors(25))

如果我想用彩虹色或者热色来调整这张图片的颜色,那么z的值越大,颜色越暗,我该怎么办,如何控制颜色集enter image description here

谢谢大家

1 个答案:

答案 0 :(得分:2)

除了帮助中的示例之外,您还可以使用drape.plot包中的fields,默认情况下会根据z值从颜色栏中分配颜色。它会调用drape.color然后是persp,最后使用image.plot添加图例条。

ncol <- 5
library(fields)
drape.plot( x,y,z, col=rainbow(nbcol))

enter image description here