R语言数据可视化之美:专业图表绘制指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.7.3 学术图表的颜色主题

我们毕竟不是专业的设计师,专业的设计师懂得自己根据配色原理与色相轮搭配颜色。如果自己配色,既费时费力,也不一定达到美观的效果。幸好,图1-7-9和图1-7-10提供了诸多颜色主题方案供大家参考与使用。另外,R语言本身的基础包就自带有5个预色调色板:rainbow、heat.colors、terrain.colors、topo.colors、cm.colorsR语言预色调色板:https://stat.ethz.ch/R-manual/R-devel/library/grDevices/html/palettes.html,如图1-7-13所示。

图1-7-13 R语言预色调色板

我们还比较常用的是:colorRampPalette(c("red", "white", "green", , alpha = TRUE))(n),其中n表示插值的颜色值总数,使用该语句可以将少量的颜色值插值生成n个颜色值。

R中的wesanderson包、viridis包、ggthemes包和ggtech包等也提供了一系列新的颜色主题方案。尤其需要强调的是R中的ggsci包提供了几个经典期刊推荐的颜色主题方案,包括NatureScience等学术期刊。但是,这并不是说投稿这些期刊就必须使用这些配色方案,而是说推荐使用,你可以选择使用其他颜色主题方案。所以,下面罗列了很多颜色主题方案,但毕竟“萝卜白菜,各有所爱”,你只要选择1~2种自己喜欢的,然后就可以应用到自己绘制的学术图表中。

当你问笔者这幅图表使用哪个颜色主题方案比较美观时,笔者也没法确定,实践出真知。另外,由于不同的数据与图表,所以自己要多尝试不同的颜色主题方案,才能找出哪个颜色主题适合这幅图表。

wesanderson包wesanderson包的官网:https://github.com/karthik/wesanderson:可以使用语句wes_palette("Darjeeling1")获得离散的颜色值(见图1-7-14)。

图1-7-14 wesanderson包的颜色主题方案

ggsci包ggsci包的官网:https://cran.r-project.org/web/packages/ggsci/vignettes/ggsci.html:可以使用语句:pal_npg("nrc", alpha = 0.7)(9),语句中的“9”可以指定数目,获得透明度为0.7的10个Nature期刊推荐的颜色主题的颜色值(见图1-7-15)。

图1-7-15 ggsci包的颜色主题方案

viridis包viridis包的官网:https://cran.r-project.org/web/packages/viridis/vignettes/intro-to-viridis.html:可以使用语句scale_fill_viridis(option="magma", discrete=TRUE)获得离散的颜色值;当discrete=FALSE时,即可获得连续的颜色条(见图1-7-16)。

图1-7-16 viridis包的颜色主题方案