![R语言数据可视化之美:专业图表绘制指南](https://wfqqreader-1252317822.image.myqcloud.com/cover/252/26351252/b_26351252.jpg)
1.7.3 学术图表的颜色主题
我们毕竟不是专业的设计师,专业的设计师懂得自己根据配色原理与色相轮搭配颜色。如果自己配色,既费时费力,也不一定达到美观的效果。幸好,图1-7-9和图1-7-10提供了诸多颜色主题方案供大家参考与使用。另外,R语言本身的基础包就自带有5个预色调色板:rainbow、heat.colors、terrain.colors、topo.colors、cm.colors,如图1-7-13所示。
![](https://epubservercos.yuewen.com/82DD81/14814527504469306/epubprivate/OEBPS/Images/Figure-0083-0086.jpg?sign=1739281394-IGH2WcP31ai1BhJCStm6gcLTP4fLt5NS-0-803c7a5722025e9461e3276eef10cff4)
图1-7-13 R语言预色调色板
我们还比较常用的是:colorRampPalette(c("red", "white", "green", , alpha = TRUE))(n),其中n表示插值的颜色值总数,使用该语句可以将少量的颜色值插值生成n个颜色值。
R中的wesanderson包、viridis包、ggthemes包和ggtech包等也提供了一系列新的颜色主题方案。尤其需要强调的是R中的ggsci包提供了几个经典期刊推荐的颜色主题方案,包括Nature、Science等学术期刊。但是,这并不是说投稿这些期刊就必须使用这些配色方案,而是说推荐使用,你可以选择使用其他颜色主题方案。所以,下面罗列了很多颜色主题方案,但毕竟“萝卜白菜,各有所爱”,你只要选择1~2种自己喜欢的,然后就可以应用到自己绘制的学术图表中。
当你问笔者这幅图表使用哪个颜色主题方案比较美观时,笔者也没法确定,实践出真知。另外,由于不同的数据与图表,所以自己要多尝试不同的颜色主题方案,才能找出哪个颜色主题适合这幅图表。
wesanderson包:可以使用语句wes_palette("Darjeeling1")获得离散的颜色值(见图1-7-14)。
![](https://epubservercos.yuewen.com/82DD81/14814527504469306/epubprivate/OEBPS/Images/Figure-0083-0087.jpg?sign=1739281394-epuMqQZfpHIgYSQVOeL0bDrjMbS6oWsp-0-adfd5056677cf7dd57dc57263238b976)
图1-7-14 wesanderson包的颜色主题方案
ggsci包:可以使用语句:pal_npg("nrc", alpha = 0.7)(9),语句中的“9”可以指定数目,获得透明度为0.7的10个Nature期刊推荐的颜色主题的颜色值(见图1-7-15)。
![](https://epubservercos.yuewen.com/82DD81/14814527504469306/epubprivate/OEBPS/Images/Figure-0084-0088.jpg?sign=1739281394-e29eJw16oRGZgIfNgXqpqOFFJ2kfeRle-0-1f23c255c121f4c70807933555001c32)
图1-7-15 ggsci包的颜色主题方案
viridis包:可以使用语句scale_fill_viridis(option="magma", discrete=TRUE)获得离散的颜色值;当discrete=FALSE时,即可获得连续的颜色条(见图1-7-16)。
![](https://epubservercos.yuewen.com/82DD81/14814527504469306/epubprivate/OEBPS/Images/Figure-0084-0089.jpg?sign=1739281394-aZypaoZWsB696i7wejV0ImoLVtsSAyoN-0-e287e0c3229f9e3233393b4296a06d6a)
图1-7-16 viridis包的颜色主题方案