【问题标题】:Sharp break in color palette in rr中调色板的急剧中断
【发布时间】:2011-08-08 20:54:25
【问题描述】:

我正在使用以下代码创建一个调色板:

library(rgl)
fv.colors = colorRampPalette(c("white","tan4","green"))
colorlut = terrain.colors(100)[c(100,95,90,85,80,75:30,25,20,15,14:1)]
col = colorlut[fv-trnlim[1]+1 ]

它给出了这个:(颜色条是根据here提供的代码创建的)

我想要的是 0 处的一条白色条带,就像我目前拥有的那样,但随后在 0.01 处彻底中断,调色板将在“tan4”处开始,而不是什么现在确实如此,即逐渐从白色变为“tan4”(实际上,它从来没有像 tan4 那样变暗)。

抱歉,如果这是一个非常简单的答案,但经过多次尝试和谷歌搜索,我仍然无法解决。

谢谢!

【问题讨论】:

  • 那些颜色只是向量。你能生成一个从whatever到white,另一个从white到tan4,然后将它们与c()结合起来吗?
  • 您的代码无法运行。请参阅here 了解如何制作可重现的示例。
  • @Joris Meyer 抱歉,完整代码是here。问题是我用来创建 fv 的文件是 256rows*256columns 所以我不能在这里重现它并且创建一个“理想”文件作为示例目的是行不通的,因为我遇到的问题是这个特定的文件......
  • @gsk3 你能否给我一个你建议的例子,即使我必须自己调整颜色。我还是没明白你的意思....
  • 无法真正提供一个没有可重现问题的示例......

标签: r


【解决方案1】:

您的代码的一个小修改似乎提供了您所追求的答案:

fv.colors = colorRampPalette(c("white","tan4","green")) ## define the color ramp
colorlut = fv.colors(100)[c(1,seq(50,100,length.out=99))] ## select colors to use
plot(0:1,0:1,type='n',xaxs='i',yaxs='i') ## define the plotting area
## illustrate the vector of colors using rectangles
rect(seq(0,0.99,0.01),rep(0,100),seq(0.01,1,0.01),rep(1,100),col = colorlut,border = NA)
box() ## make sure that the graph's frame is not covered up

编辑:颜色对我来说有点难看,但您可以通过重新定义颜色渐变或从渐变中选择颜色来调整它。

【讨论】:

  • 这正是我所需要的!感谢您提供非常有帮助的答案!
猜你喜欢
  • 2015-10-08
  • 2021-01-10
  • 1970-01-01
  • 2015-05-29
  • 1970-01-01
  • 1970-01-01
  • 2014-11-01
  • 2015-12-24
  • 1970-01-01
相关资源
最近更新 更多