首页 > 科研绘图 > ggplot2中的颜色设置,几行代码搞定!
2022
08-20

ggplot2中的颜色设置,几行代码搞定!

真不想要ggplot2的默认配色,毫无美感呐~

可以自己设置的呀!详细教程奉上,拿走不谢哟~

ggplot2是R语言中常用的包,它具有强大的绘图功能,在生物学数据可视化过程中,有很多图都是用ggplot2画出来的。但是有时候我们并不想要ggplot2的默认配色,如何修改呢?下面我们来告诉大家,如何在ggplot2中设置自己想要的颜色!

一步一步往下看

好看就右下边给我一朵小花花

示例数据:

通常我们绘图时,ggplot默认的颜色是黑色(图1、图3),其实我们可以通过color参数设置想要的颜色,例如color=”red”(图2):

library(ggplot2)

ggplot(data, aes(x=group, y=value)) + geom_point(pch=20,cex=6)

图1

ggplot(data, aes(x=group, y=value)) + geom_point(pch=20,cex=6,color="red")

图2

color参数通常用于散点图、折线图等。但是当我们的图为柱状图或者空心的散点图点时(如图3、图4),用color参数就只能设置边框的颜色。此时可以通过fill参数填充内部的颜色,例如fill=”red”(图5、图6)。

图3

图4

ggplot(data, aes(x=group, y=value)) + geom_bar(stat="identity",fill="red")

ggplot(data, aes(x=group, y=value)) + geom_point(pch=24,cex=6,fill="red")

图5

图6

设置不同分组的颜色:

我们如果想要不同的分组呈现不同的颜色,该怎么设置呢?

只要在aes()中设置color或者fill就可以了!通常为fill=分组组名。

例如:

ggplot(data, aes(x=group, y=value)) + geom_bar(aes(fill=group),stat="identity")

图7

那么又有人问,我想要不同分组用不同的颜色,但是又不想用ggplot2默认的颜色怎么办?

这个时候我们就可以使用scale_colour_brewer()函数和scale_fill_brewer()函数了。

scale_colour_brewer()一般用于散点图和折线图等;

scale_fill_brewer()一般用于箱线图和条形图等需要填充的图。

用法也很简单,只要在画图的脚本后面加上 +scale_fill_brewer(values=颜色)就可以了。

ggplot(data, aes(x=group, y=value)) + geom_bar(aes(fill=group),stat="identity")+scale_fill_manual(values=c("#6495ED","#FFA500","#FF4500"))

图8

我们还可以通过scale_fill_manual()中的alpha参数,来设置颜色的透明度。

ggplot(data, aes(x=group, y=value)) + geom_bar(aes(fill=group),stat="identity")+scale_fill_manual(values=alpha(c("#6495ED","#FFA500","#FF4500"), 0.5))

最终呈现的效果如图9所示:

图9

scale_fill_manual()也可以直接调用调色盘

mycolors<-c("#6495ED","#FFA500","#228B22","#FF4500")

ggplot(data, aes(x=group, y=value)) + geom_bar(aes(fill=group),stat="identity")+scale_fill_manual(values=mycolors)

图10

scale_color_manual ()与scale_fill_manual()的用法相同,这里就不赘述了。

转自:锐翌基因

最后编辑:
作者:萌小白
一个热爱网络的青年!

发布评论

表情