Rbrewer调色板元素的颜色名称

时间:2016-09-15 07:30:46

标签: r ggplot2 colors

我想在RColorBrewer包中使用类似于“RdYlBu”的发散调色板来着色散点图的点。 但是,我希望“RdYlBu”调色板(第6种颜色)的中间颜色为“绿色”,而“RdYlBu”中的所有其他颜色都是完美的。

我可以使用“RdYlBu”使用以下规范生成绘图:

scale_colour_manual(values = brewer.pal(11,"RdYlBu"), name="Glc mmol/L", labels=c("<1.5", "1.5-2", "2-2.5", "2.5-3", "3-3.5", "3.5-5.5", "5.5-7.5", "7.5-10", "10-15", "15-20")) +

要获得与中间颜色相同的颜色(第6个为绿色),我相信我需要知道颜色“值”或名称,以便我可以手动指定颜色。像这样:

scale_colour_manual(values = c(#first five values of RdYlBu#, "Green", #last 5 five values of "RdYlBu"#), #etc... etc....#)

我的问题是如何找出RdYlBu的颜色值是什么?

我真的很努力地研究这个问题,并且发现了许多关于颜色的有趣的东西,但没有解决我的具体问题。

1 个答案:

答案 0 :(得分:4)

你可以尝试一下

library(RColorBrewer)
br_pal <- brewer.pal(11,"RdYlBu")
my_pal <- c(head(br_pal, 5), "Green", tail(br_pal, 5))
# just for displaying old and new palette - not required for solution
scales::show_col(br_pal)
scales::show_col(my_pal)

scale_colour_manual(values = my_pal, #etc... etc....#)

解释

你想要

  

#RdYlBu#的前五个值,“绿色”,#last 5“RdYlBu”的五个值#

head(x, 5)将获得向量x的前5个元素,tail(x, 5)最后5个元素。将这些部分与c(...)连接起来就已经完成了。