通常,我会使用发散的调色板映射到一个参数,该参数在中间附近的某个地方具有有趣的转折点。

不幸的是,可用的多样化调色板-例如来自C.Brewer的那些颜色-似乎都在两个极端而不是中间出现饱和色,通常被定义为白色或浅灰色。这是一个例子说明

文本标签指示的连续参数会通过一个最佳值,在该值处关联曲线的峰值达到最大值。

在浅白色或灰色背景(对于ggplot2典型)上,我数据中最有趣的部分几乎变得不可见。我希望它能“弹出”更多的位置,而另一侧的值则逐渐从中心逐渐淡出,并带有不同的色调。
是否有任何来源的良好发散的调色板在中间具有更强的饱和度,并且在两侧均褪色?

这是一个示例代码,将黑色用作中立的中间点(我希望不那么引人注目,但很难将其与两侧完美融合)。

require(RColorBrewer)
grid.newpage()
grid.raster(brewer.pal(7,"PRGn"), 0.25, 0.5, 0.4, 1)

custom <- c(brewer.pal(3,"BuPu"), "black", rev(brewer.pal(3,"BuGn")))
grid.raster(custom, 0.75, 0.5, 0.4, 1)

编辑:澄清一下,我熟悉colorRampPalettescale_colour_gradientn,我寻求建议

1-为此选择合适的颜色;

2-定义将手工调色板映射到变量的色标,类似于scale_colour_gradient2mid参数的操作(中心颜色可能不在参数范围的确切中心)

最佳答案

您可能会喜欢使用choose_palette(),这是优秀色彩空间软件包的相对较新的版本。

该软件包中的功能为您提供了对色彩空间的色相,色度和亮度特性的完整且很大程度上正交的控制。 choose_palette()为您提供了一种方便的方法,以探索巨大的可能性空间。

这是将启动调色板选择器的代码,然后是GUI工具的屏幕截图。 (请注意,要使范围的中间比两端更暗,您将需要交换发散调色板的默认亮度值,在此表示为“L1”和“L2”。)

library(colorspace)
library(grid)

custom <- choose_palette()

这是一个例子,它让我在玩耍的一分钟内就得到了两个
custom <- diverge_hcl(20, h=c(-225,277), c=80, l=c(80,25))
grid.newpage()
grid.raster(custom, 0.25, 0.5, 0.4, 1)

程序包插图(vignette("hcl-colors"))和在《计算统​​计与数据分析》杂志上发表的配套文章"Escaping RGBland: Selecting colors for statistical graphics" (Warning: pdf)中都很好地记录了程序包及其背后的思想。

关于r - 倒发散调色板,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23834653/

10-12 17:05