新年穿花衣-ggplot2画图美色变!变!变!
R语言画图是我们数据结果展示中常用的绘图工具,其中ggplot2是近年来火爆了的画图包啦,我们可以用它画柱状图、峰峦图、小提琴图、热力图、树图等等等等。可以说Nature、Science上各种美图上都少不了ggplot2的身影。
兔年第一篇,想和大家分享如何利用ggplot2画图,及色板的自主选择。
让我们给自己的美图再加点颜色吧~
首先,准备测试数据,载入R包。
library(ggplot2)#如首次使用,需先安装## install.packages("ggplot2")#这里为了演示,我们使用了R语言的内置演示数据dt <- lattice::singer
我们先使用ggplot2的默认配色,画个小提琴图来看一看。
ggplot(dt, aes(x = voice.part, y = height,fill = voice.part,color = voice.part)) +geom_violin(alpha = 0.6)
如果只是自己看看,其实这个配色也还不错了。但如果发表级别可能还不够。我们可以根据自己的需要,修改配色板。
用以下命令,先列出所有的配色板。
#通过以下命令,可列出所有的配色板RColorBrewer::display.brewer.all()
我自己比较喜欢Accent色板。修改命令如下
ggplot(dt, aes(x = voice.part, y = height,fill = voice.part,color = voice.part)) +geom_violin(alpha = 0.6) +scale_fill_brewer(palette="Accent") + scale_colour_brewer(palette="Accent")
可以看到,修改颜色其实就是在源代码下增加了一行,对scale_fill_brewer和scale_colour_brewer两个参数进行了指定。我们看下修改色板后的图,如下所示。
把情况想的再复杂些,如果默认的三十几种配色板我们都觉得不好看。或者说,我们需要的颜色很多,已有的色板这十几种颜色满足不了我们的需要。我们又该怎么办呢?
这里推荐另一个R包Cols4all。给我们提供了几百种色板,可直接调用,且非常的直观。
#首次使用,需安装remotes::install_github("mtennekes/cols4all", dependencies = TRUE)library(cols4all)#调出可视化选择面板c4a_gui()
有几百种配色板可供选择,最多配色达36种。且提供多种方式排序或筛选,例如,是否对于色盲友好,是否支持离散数据等。
假设,我们选择了其中名为“safe”的配色板,用于作图,绘图命令如下
mycol <- c4a('safe',8) ggplot(dt, aes(x = voice.part, y = height,fill = voice.part,color = voice.part)) +geom_violin(alpha = 0.6) +scale_color_manual(values = mycol) +scale_fill_manual(values = mycol)
此处颜色的修改是对scale_color_manual和scale_fill_manual参数进行了修改。(注意,这里和前面ggplot2自定义修改颜色的参数很像,却不是一样的,容易混淆,,注意辨别)。
修改后,我们的美图又换了一身新衣裳啦~
几百种配色,几百套衣服,总有适合我们需要的一款。
任君选择~
如果还想更上一层楼, 比如增加花纹,可以使用ggpattern这个包。
详细介绍可见以下链接 《新年了耶,为你的纯色图表穿上潮流花衣裳吧!》
祝大家兔年大吉!
最后,微微碎碎念下:科研不易,疾控工作不易,生活更不易。每年总结时我总是会有几分懊恼,对自己没有实现年初的目标不满,为自己对很多事情无能为力遗憾。但,看了《流浪地球2》,我略有几分释怀了。至少我们和子孙仰头看到的还是温暖的太阳,至少我们面对的问题相比于给地球搬家简单了很多,至少我们还有时间,去坚持、去尝试。那就在兔年继续努力吧~ 每天学习一点点,记录下自己和伙伴们每一分努力的脚步,也和同好们互相鼓劲,在这条长长的道路上,相伴共行。
努力再努力,即使是最后失败了,做一个在路边给成功的同伴鼓掌喝彩的人,也是挺好的~
加油!给自己!给伙伴们!
0条评论