【问题标题】:Discretizing color scheme according to timestamps in r根据 r 中的时间戳离散化配色方案
【发布时间】:2013-06-24 23:41:27
【问题描述】:

我有一个 3d 数据集,我想用 rgl 进行绘图,这样

library(rgl)
x = rnorm(2700,0,0.6)
y = rnorm(2700,0,0.7)
z = rnorm(2700,0,0.5)
plot3d(x,y,z)

我想为数据的不同部分分配不同的颜色并尝试过

col1=colorRampPalette(c("black","green","red","blue","cyan"))
colorscheme=col1(2700)[c(c(73:193,409:481,937:1579),229:373,517:721,757:901,1615:1963)]
plot3d(x,y,z,col=colorcheme)

但是,颜色不是离散化的......这是有道理的,因为 colorRampPalette 创建了一个调色板,而不是离散化的配色方案!基本上,我希望 73:193 之间的所有值都是黑色,229:373 之间的所有值都是绿色等等......我担心我错过了明显的但我找不到答案。是否会有像colorRampPalette 这样的函数而不是创建离散色带?另外,为了以防万一,我不希望绘制某些值(例如,在 193 和 229 之间)。

感谢您的帮助。

【问题讨论】:

    标签: r rgl


    【解决方案1】:

    这似乎是一个更好的方法:

    library(rgl)
    x = rnorm(2700,0,0.6)
    y = rnorm(2700,0,0.7)
    z = rnorm(2700,0,0.5)
    plot3d(x,y,z)
    
    COLS <- rep(NA, 2700)
    COLS[c(73:193,409:481,937:1579)] <- "black"
    COLS[229:373] <- "green"
    COLS[517:721] <- "red"
    COLS[757:901] <- "blue"
    COLS[1615:1963] <- "cyan"
    
    plot3d(x,y,z,col=COLS)
    

    NA 保持无色。

    【讨论】:

      猜你喜欢
      • 2022-09-23
      • 1970-01-01
      • 2020-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多