倒置发散的调色板

bap*_*ste 8 r ggplot2 color-palette colorbrewer

我常常使用一个发散的调色板映射到一个参数,该参数在中间附近有一个有趣的转折点.

不幸的是,可用的分散调色板 - 例如来自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)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

编辑:为了澄清,我熟悉colorRampPalettescale_colour_gradientn,我在征求意见

1-为此目的选择好的颜色;

2-定义颜色分的手工制作的调色板映射到一个变量,类似于scale_colour_gradient2与确实mid参数(中心颜色可能不是在该参数范围的确切中心)

Jos*_*ien 11

你可能喜欢玩choose_palette(),这是一个相对较新的优秀色彩空间包.

该软件包中的功能可以为您的色彩空间的色调,色度和亮度特性提供完整且基本上正交的控制.choose_palette()为您提供一种方便的方式来探索开放的巨大可能性空间.

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

library(colorspace)
library(grid)

custom <- choose_palette()
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

这里有一个例子,说明它在大约一分钟的时间内让它变成了两个

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)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

包装及其背后的思想都很好地记录在包装插图(vignette("hcl-colors"))和伴随文章"Escaping RGBland:选择统计图形的颜色" (警告:pdf)中,这些文章发表在计算统计和数据分析杂志上.