2012-12-20 120 views
2

我使用的是persp3d,我需要根据我的z值找出用于绘图的颜色。我有一个z值矩阵(90 x 201)矩阵,z值范围从3E-39到1.3。将Z值的矩阵转换为R中的颜色

如何找出用作persp3d的颜色参数的颜色列表。

回答

1

(。我假设你是从GA包指的是persp3D如果是这样,这里就是我建议)


  1. 看看jet.colors,默认值为persp3Dcolor.palette=参数:

    library(GA) 
    jet.colors 
    # function (n) 
    # { 
    #  palette <- colorRampPalette(c("#00007F", "blue", "#007FFF", 
    #   "cyan", "#7FFF7F", "yellow", "#FF7F00", "red", "#7F0000")) 
    #  palette(n) 
    # } 
    
  2. 将其用作您自己功能的模型。 (见?colorRampPalette一些洞察到它的工作原理):

    USA.colors <- function(n) { 
        palette <- colorRampPalette(c("red", "white", "blue")) 
        palette(n) 
    } 
    
  3. 试试看:

    ## 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) 
    

enter image description here

1

你可以尝试这样的事情:

 rainbow(length(z))[rank(z)]