小白新手,加速记忆,先整理个帖子
正题:
install.packages('gg.gap')
library(ggplot2)#首次用需要先安装install.packages('ggplot2')
#如果报错也可以用这种方式安装install.packages("ggplot2", repos = "http://cran.r-project.org")
library(RColorBrewer)#首次用需要先安装install.packages('RColorBrewer')
library(ggpubr)#首次用需要先安装install.packages('ggpubr')
library(ggsignif)
#Group:为因子变量(分组)
#Value:为连续变量,是数值
#使用ggplot2包生成箱线图
Data1<-read.csv(file.choose())#选择你的文件,记得csv格式
head(Data1)#查看文件前六行,检查一下有没有问题
#当你的文件只有两列,即treatment+数据时,即可采用简单箱式图。
P1 <- ggplot(Data1,aes(x=type,y=score,fill=type))+
stat_boxplot(geom = "errorbar",width=0.5,size=1.5,position = position_dodge(0.8))+ #使用误差条的方式补上
geom_boxplot(width=0.5,position = position_dodge(0.8))+
theme_bw()+
geom_boxplot(size=1.5,outlier.fill="white",outlier.color="white")+ #size设置箱线图的边框线和误差条线宽度,fill设置填充颜色,outlier.fill和outlier.color设置异常点的属性
geom_jitter(aes(fill=type),width =0.2,shape = 20,size=4.5)+ #设置为向水平方向抖动的散点图,width指定了向水平方向抖动,不改变纵轴的值
scale_color_manual(values=c("black","black"))+ #设置散点图的圆圈的颜色为黑色
ggtitle("Comparison of gene expression")+ #设置总的标题
scale_fill_manual(values = c("#FFB81CFF", "#007AC1FF","#CE1141FF","#002D62FF","#980021FF","#C4CED4FF"))+ #设置箱型图颜色
theme(legend.title=element_text(size = 35,face = "bold",margin = margin(r=20)),
legend.text=element_text(size = 35,face = "bold",margin = margin(r=20)),
#legend.position=c(0.28, 0.78), #图例在绘图区域的位置
legend.position='top',#图例放在顶部
#legend.spacing.x = unit(2, 'cm'),
legend.background = element_rect( linetype="solid",colour ="black"),
axis.text.x=element_text(size = 30,hjust = 0.5,vjust = 0.5,face="bold"), #设置x轴刻度标签的字体属性
axis.text.y=element_text( size = 40,face="bold"), #设置y轴刻度标签的字体属性
axis.title.y=element_text( size = 50,face="bold"), #设置y轴的标题的字体属性
axis.title.x=element_text(size = 20,face="bold"), #设置x轴的标题的字体属性
axis.ticks = element_line(color='black',size = 2), #设置坐标轴颜色
plot.title = element_text( size = 5,face="bold",hjust = 0.5), #设置总标题的字体属性
#panel.grid.major=element_line(colour=NA),
#panel.background = element_rect(fill = "transparent",colour = NA),
#plot.background = element_rect(fill = "transparent",colour = NA),
panel.border = element_rect(colour = "black",fill = "transparent",size = 2))+ #设置绘画边框颜色、宽度
#panel.grid.minor = element_blank())+
#scale_y_continuous(expand = c(0, 0))+ #消除绘图区域与x轴的间隙
labs(x = '', y = 'Relative expression')
P1
#看下图片
#如果不想要网格背景添加这行命令:
theme(panel.grid.major=element_line(colour=NA),
panel.background = element_rect(fill = "transparent",colour = NA),
plot.background = element_rect(fill = "transparent",colour = NA),
panel.grid.minor = element_blank())+
#出来的图如图,差别不大,但是总感觉网格去除了清爽很多
添加显著性标记也简单,用下列两两比较
geom_boxplot() +
geom_signif(comparisons = list(c("a", "b"),c("c", "d"),c("e", "f")),map_signif_level=TRUE)+
完整代码如下
install.packages('gg.gap')
library(ggplot2)#首次用需要先安装install.packages('ggplot2')
#如果报错也可以用这种方式安装install.packages("ggplot2", repos = "http://cran.r-project.org")
library(RColorBrewer)#首次用需要先安装install.packages('RColorBrewer')
library(ggpubr)#首次用需要先安装install.packages('ggpubr')
library(ggsignif)
#Group:为因子变量(分组)
#Value:为连续变量,是数值
#使用ggplot2包生成箱线图
P1
Data1<-read.csv(file.choose())#选择你的文件,记得csv格式
head(Data1)#查看文件前六行,检查一下有没有问题
P1 <- ggplot(Data1,aes(x=type,y=score,fill=type))+
stat_boxplot(geom = "errorbar",width=0.5,size=1.5,position = position_dodge(0.8))+ #使用误差条的方式补上
geom_boxplot(width=0.5,position = position_dodge(0.8))+
geom_boxplot() +
geom_signif(comparisons = list(c("a", "b"),c("c", "d"),c("e", "f")),map_signif_level=TRUE)+
theme_bw()+
geom_boxplot(size=1.5,outlier.fill="white",outlier.color="white")+ #size设置箱线图的边框线和误差条线宽度,fill设置填充颜色,outlier.fill和outlier.color设置异常点的属性
geom_jitter(aes(fill=type),width =0.2,shape = 20,size=4.5)+ #设置为向水平方向抖动的散点图,width指定了向水平方向抖动,不改变纵轴的值
scale_color_manual(values=c("black","black"))+ #设置散点图的圆圈的颜色为黑色
ggtitle("Comparison of gene expression")+ #设置总的标题
scale_fill_manual(values = c("#FFB81CFF", "#007AC1FF","#CE1141FF","#002D62FF","#980021FF","#C4CED4FF"))+ #设置箱型图颜色
theme(legend.title=element_text(size = 35,face = "bold",margin = margin(r=20)),
legend.text=element_text(size = 35,face = "bold",margin = margin(r=20)),
#legend.position=c(0.28, 0.78), #图例在绘图区域的位置
legend.position='top',#图例放在顶部
#legend.spacing.x = unit(2, 'cm'),
legend.background = element_rect( linetype="solid",colour ="black"),
axis.text.x=element_text(size = 30,hjust = 0.5,vjust = 0.5,face="bold"), #设置x轴刻度标签的字体属性
axis.text.y=element_text( size = 40,face="bold"), #设置y轴刻度标签的字体属性
axis.title.y=element_text( size = 50,face="bold"), #设置y轴的标题的字体属性
axis.title.x=element_text(size = 20,face="bold"), #设置x轴的标题的字体属性
axis.ticks = element_line(color='black',size = 2), #设置坐标轴颜色
plot.title = element_text( size = 0,face="bold",hjust = 0.5), #设置总标题的字体属性
panel.grid.major=element_line(colour=NA),
panel.background = element_rect(fill = "transparent",colour = NA),
plot.background = element_rect(fill = "transparent",colour = NA),
panel.border = element_rect(colour = "black",fill = "transparent",size = 2), #设置绘画边框颜色、宽度
panel.grid.minor = element_blank())+
#scale_y_continuous(expand = c(0, 0))+ #消除绘图区域与x轴的间隙
labs(x = '', y = 'Relative expression')
P1