2

我正在使用 persp3d,我需要根据我的 z 值确定要用于绘图的颜色。我有一个 z 值矩阵(90 x 201)矩阵,z 值范围从 3E-39 到 1.3。

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

4

2 回答 2

1

你可以尝试这样的事情:

     rainbow(length(z))[rank(z)]
于 2012-12-20T18:06:14.037 回答
1

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


  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)
    

在此处输入图像描述

于 2012-12-20T18:48:08.283 回答