数据可视化 -----ggplot2绘制箱线图叠加散点图和连线

数据可视化---------ggplot2绘制箱线图叠加散点图和连线

准备输入文件

这里提供示例输入文件样式:

sample	percent	group
Cancer	0.10991479	1
Cancer	0.196776537	2
Cancer	0.163551093	3
Cancer	0.089305767	4
Cancer	0.629499967	5
Health	0.306427109	1
Health	0.139110906	2
Health	0.24460004	3
Health	0.272342955	4
Health	0.362441377	5

代码如下所示:

Data=read.table("Bact.txt",header = T)  ##读文件
library(ggplot2)
library(scales)     ##如需将坐标轴以百分比的形式展示需要是用这个包
p=ggplot(data=Data,aes(x=sample,y=percent))
pp=p+geom_boxplot(color="black") ##这里先绘制箱线图
pp_point=pp+geom_point(aes(colour=sample,shape=sample),size=4)  ##在箱线图的基础上叠加散点图
pp_line=pp_point+geom_line(aes(group=group) ,size=0.8,colour="#9C9C9C") ##叠加线图,根据定义的group设置连线
ppp=pp_line+scale_color_manual(values=c(Cancer="#EE0000",Health="#0000EE"))+scale_shape_manual(values=c(Cancer=16,Health=16))+theme_bw()+theme(legend.text = element_text(colour = "black",size=13))+theme(legend.title = element_text(colour = "black",size=13))+labs(y="Percent")+theme(axis.title.x=element_text(size=15,color="black",hjust=0.5),axis.title.y=element_text(size=15,color="black",hjust=0.5))+theme(plot.title=element_text(size=15,hjust=0.5,vjust=0.5))+theme(axis.text.x = element_text(colour = "black",size = rel(1.5)))+theme(axis.text.y = element_text(colour = "black",size = rel(1.5)))+scale_y_continuous(labels = scales::percent)    ##设置点的形状、颜色及坐标轴标签的字体大小,以及自定义显示的标签和y轴以百分比的形式展示

全部设置完成之后的图形如下所示:

数据可视化 -----ggplot2绘制箱线图叠加散点图和连线