我们都知道ggplot2包是R的神器,很多生物学文章都选择用这个包来画图。用ggplot2就像玩俄罗斯方块一样,一层一层地往上叠加元素,这使得它用起来很方便。
个人觉得它默认的配色系统很不错,但看到颜色后却不知道这种颜色叫啥,今天就来介绍一下,如果你有1~6个元素,ggplot2给的配色分别是啥。
1个元素:
2个元素(颜色分配顺序为先从左到右,后从上到下):
3个元素:
4个元素:
5个元素:
6个元素:
多余6个元素大家可以用下面的代码去实现
运行的代码为:
library(scales)
show_col(hue_pal()(n)) #n为1~6
补充:R语言ggplot中的颜色
ggplot2分组时默认使用的颜色,可以从另一个hadley写的包,scales包中调用。这个包算是一个工具包,用于和hadley写的其他包配合使用,颜色是其中一部分。
library(scales)
show_col(hue_pal()(3))
# show_col(hue_pal(h = c(0, 360) + 15, c = 100, l = 65)(3)) # 和上面一样,默认设置
hue_pal函数的默认设置,其中h是色相,范围越大,相邻颜色之间差异越大;c是饱和度,值越大色彩越浓艳饱满;l是亮度,大亮小暗。
柱状图的颜色搭配:
colorbar <- function(values){
groupbar + scale_fill_manual(values = values)
}
colorlist <- list(c("#8FBC94","#548687"),c("#4FB0C6","#4F86C6"),
c("#C65146","#EC6A5C"),c("#6E7783","#77AAAD"),
c("#e97f02","#f8ca00"),c("#3a5134","#4f953b"),
c("#99CCCC","#FFCC99"),c("#CC9999","#CCCC99"),
c("#0099CC","#FF6666"),c("#339966","#996699"),
c("#CC9966","#666666"),c("#336666","#CCCC33"),
brewer.pal(7, "Set1")[c(1,2)],brewer.pal(7, "Set1")[c(3,4)],
brewer.pal(7, "Set2")[c(5,6)],brewer.pal(7, "Set3")[c(6,7)],
brewer.pal(7, "Greens")[c(4,5)],brewer.pal(7, "Blues")[c(4,5)],
brewer.pal(7, "Oranges")[c(4,5)],brewer.pal(7, "Purples")[c(4,5)]
)
p <- marrangeGrob(lapply(colorlist, colorbar), nrow=0.5*length(colorlist), ncol=2, top="")
p
另外两个比较常用的颜色设置:
scale_fill_manual(): 填充色
scale_color_manual():轮廓色,如点线
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。如有错误或未考虑完全的地方,望不吝赐教。