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() #点的颜色是 color
p3
《新英格兰医学杂志》: 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)
当然,支持的期刊,或者其他软件、网站的配色还有很多,感兴趣的学员可以自行去探索,我们也会时常发表一些文章供大家参考学习。