我正在尝试使用fill.contour3的服装传奇,就像在这个例子中一样:
colorRampPalette(c('white','blue','green','yellow','red','darkmagenta','darkviolet'))(15)
当我将filled.contour3与预定义的图例(例如,terrain.colors)一起使用时,它可以正常工作。 但是,如果我尝试添加服装图例(例如,terrain.colors(10)),我会收到一条错误消息:
Error in .filled.contour(as.double(x), as.double(y), z, as.double(levels), :
could not find function "color.palette"
以下是示例代码:
#Generate some fake data
x = rep(c(10,11,12),length = 9)
y = rep(c(1,2,3),each = 3)
z = runif(n=9,min = 0,max = 1)
xcoords = unique(x)
ycoords = unique(y)
surface.matrix = matrix(z,nrow=length(xcoords),ncol=length(ycoords),byrow=T)
#this works:
filled.contour3(xcoords,ycoords,surface.matrix,color=terrain.colors,xlab = "",ylab = "",xlim = c(min(xcoords),max(xcoords)),ylim = c(min(ycoords),max(ycoords)),zlim = c(min(surface.matrix),max(surface.matrix)))
#this doesn't work:
filled.contour3(xcoords,ycoords,surface.matrix,color=terrain.colors(10),xlab = "",ylab = "",xlim = c(min(xcoords),max(xcoords)),ylim = c(min(ycoords),max(ycoords)),zlim = c(min(surface.matrix),max(surface.matrix)))
我在Win7 64上使用R 3.0.3 谢谢 ,Ilik
答案 0 :(得分:1)
?filled.contour
有两个设置颜色的选项:
color.palette :用于在图中指定颜色的调色板功能。
col :在绘图中使用的显式集颜色。此参数会覆盖任何调色板功能规范。颜色应该比水平少一个
您正在向color
提供颜色矢量,其被解释为color.palette
。如果要提供预定义的颜色矢量,请改用col
:
cols = colorRampPalette(c('white','blue','green','yellow','red','darkmagenta','darkviolet'))(15)
filled.contour(xcoords,ycoords,surface.matrix,col=cols,xlab = "",ylab = "",xlim = c(min(xcoords),max(xcoords)),ylim = c(min(ycoords),max(ycoords)),zlim = c(min(surface.matrix),max(surface.matrix)))