分享

新年穿花衣-ggplot2画图美色变!变!变!

 微微悦明 2023-01-31 发布于北京

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多