通常,我会使用发散的调色板映射到一个参数,该参数在中间附近的某个地方具有有趣的转折点。
不幸的是,可用的多样化调色板-例如来自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)
编辑:澄清一下,我熟悉
colorRampPalette
和scale_colour_gradientn
,我寻求建议1-为此选择合适的颜色;
2-定义将手工调色板映射到变量的色标,类似于
scale_colour_gradient2
对mid
参数的操作(中心颜色可能不在参数范围的确切中心) 最佳答案
您可能会喜欢使用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/