我使用的是persp3d,我需要根据我的z值找出用于绘图的颜色。我有一个z值矩阵(90 x 201)矩阵,z值范围从3E-39到1.3。将Z值的矩阵转换为R中的颜色
如何找出用作persp3d的颜色参数的颜色列表。
我使用的是persp3d,我需要根据我的z值找出用于绘图的颜色。我有一个z值矩阵(90 x 201)矩阵,z值范围从3E-39到1.3。将Z值的矩阵转换为R中的颜色
如何找出用作persp3d的颜色参数的颜色列表。
(。我假设你是从GA包指的是persp3D
如果是这样,这里就是我建议)
看看jet.colors
,默认值为persp3D
的color.palette=
参数:
library(GA)
jet.colors
# function (n)
# {
# palette <- colorRampPalette(c("#00007F", "blue", "#007FFF",
# "cyan", "#7FFF7F", "yellow", "#FF7F00", "red", "#7F0000"))
# palette(n)
# }
将其用作您自己功能的模型。 (见?colorRampPalette
一些洞察到它的工作原理):
USA.colors <- function(n) {
palette <- colorRampPalette(c("red", "white", "blue"))
palette(n)
}
试试看:
## Adapted from example in ?persp3D
y <- x <- seq(-10, 10, length=60)
f <- function(x,y) { r <- sqrt(x^2+y^2); 10 * sin(r)/r }
z <- outer(x, y, f)
persp3D(x, y, z, theta = 30, phi = 30, expand = 0.5,
color.palette = USA.colors)
你可以尝试这样的事情:
rainbow(length(z))[rank(z)]