install.packages("ggsci")
做一个示例data
library("ggplot2")data("diamonds") data<-subset(diamonds, carat >=2.2)
下面画图:y轴都是price,x轴都是table

p1 =ggplot(data, aes(x = table, y = price, colour = cut)) + # 点 geom_point(alpha=0.7,size=4) + # 曲线拟合, 方法:局部线性回归loess geom_smooth(method="loess", alpha =0.05, size =2, span =1) + # 背景 theme_bw()p1

position 5个参数可选:stack、dodge、fill、identity、jitter
dodge数据并列放置
stack数据堆叠放置
p2 =ggplot( data,aes(x = depth, fill = cut)) + #柱状图 colour描边颜色, binwidth柱子宽度, geom_histogram(colour="black", binwidth =3, position ="dodge") + theme_bw()p2

加载ggsci
配色方案为sacle_color_xx杂志名,
scale_fill_xx杂志名
color和fill用法区别复习:
colour :【线】和【点】的颜色,如colour=“red”
fill : 【形状图形】填充颜色,如 fill=“blue”
《自然》: npg (Nature Publishing Group自然出版集团缩写)
p3<-p1 + scale_color_npg() #点的颜色是 colorp3

《新英格兰医学杂志》: nejm
p4<-p2 + scale_fill_nejm() p4

《柳叶刀》:lancet
p5<- p1+ scale_color_lancet()p5

《科学》:aaas
p6<- p2+ scale_fill_aaas() p6

《美国医学会杂志》:jama
p7<-p1+ scale_color_jama()p7

gridExtra包
library("gridExtra") # 布局、组图用的包grid.arrange(p1,p2,p3,p4,p5,p6, ncol = 2) #ncol = 2 我想2列拼图

cowplot包
library(cowplot)plot_grid(p1,p2,p3,p4,p5,p6, labels = LETTERS[1:6], #大写字母取6个 当做图标 ncol = 2)

如果是对于非ggplot2系统的图形想使用配色
ggsci还提供把调色板的颜色单独提取成颜色代码
举个例子
从lancet调色板中提取6个颜色,
alpha透明度
(6)取6个颜色
a<- pal_lancet("lanonc",alpha = 0.6)(6) a
从npg调色板中提取8个颜色
b<-pal_npg('nrc',alpha = 0.8)(8)b
看自然杂志
palette 调色板的意思

看柳叶刀

每个期刊对应的调色板palette 叫法不一样
当然,这个颜色代码 ,我们也是可以直观看见的
具体的颜色可以用 scales包展示
library("scales")show_col(a)

当然,支持的期刊,或者其他软件、网站的配色还有很多,感兴趣的学员可以自行去探索,我们也会时常发表一些文章供大家参考学习。
