【发布时间】:2015-02-16 18:44:44
【问题描述】:
我正在尝试在 R 中生成填充等高线图。我的数据标签 x 和 y 是长度为 20 的向量,我的 z 矩阵是 20 x 20。以下是我的代码,fill.contour 命令直接从r help(filled.contour) 文件,只是去掉了多余的参数:
x <- seq(1,5)
y <- seq(1,5)
cells <- c(1,4,9,16,25,1,4,9,16,25,1,4,9,16,25,1,4,9,16,25,1,4,9,16,25)
z <- matrix(cells,nrow=5,ncol=5,byrow=TRUE)
filled.contour(x,y,z,nlevels = 20,col = cm.colors(19))
【问题讨论】:
-
如果指定
color.palette,则无需提供col。如果这样做,col给出的颜色矢量将覆盖color.palette。 (source) -
@Pascal,好的,如果我不指定 col,那么我会得到一个有 20 个级别但只有 3 种颜色的图。我的目标是有 20 个关卡,有 19 种不同的颜色。如果我不指定 color.palette,但指定 col =...,那么显然我会收到关于未找到变量 color.palette 的相同错误消息。
-
是的,
color.palette不是您可以直接调用的 R 函数。您可以使用one of these functions 创建向量col。或者使用[RColorBrewer](http://cran.r-project.org/web/packages/RColorBrewer/index.html)包。 -
请查看我的回答。
-
@Pascal OK,所以基于我尝试的那个页面:filled.contour(x,y,z,nlevels = 20,col=cm.colors(20)),它再次生成等高线图有 20 个级别和 3 种颜色的不同深浅,蓝色、白色和紫色。我想要完成的是 20 个级别,轮廓之间的每个级别有 19 种不同的颜色。
标签: r