图形绘制 【数据可视化攻略】——分组箱式图结合散点图(R语言ggplot2)实

分组箱式散点图 关键词提示:;同一坐标轴分组展示;结合箱式图、散点图;顺序分布;描述组间分布和趋势数据产生——随机产生虚拟数 加载包数据前处理 制图 作者简介
关键词提示:;同一坐标轴分组展示;结合箱式图、散点图;顺序分布;描述组间分布和趋势)应用背景 场景1:
论文写作的时候,在进行差异分析、非参数等级相关分析可视化的时候,常常在别人的论文里看到很炫酷的分组的箱式图和散点图结合在一起,实现分析结果的可视化,用R怎么实现呢?
场景2
如何同一个坐标轴内实现分组展示多组的箱式图和散点图呢?
注意事项
使用R语言包实现;通过分面功能实现分组展示;并实现了按照低、中、高三组顺序排列;展示了箱式图和散点图的结合图——箱式散点图
数据产生——随机产生虚拟数 无放回抽取
有点偷懒啦,所以只针对MA产生数据,并分类,后续数据整合简单一些,啦啦啦~
MA <- sample(0:99,99, replace=F)MB<-c(MA+1)MC<-c(MA+2)
汇总数据
data<-data.frame(MA,MB,MC)
分组:
【图形绘制【数据可视化攻略】——分组箱式图结合散点图(R语言ggplot2)实】按照1:30作为low,31:65作为,66:100作为high
data$group[data$MA<=30]<-"Low"data$group[data$MA >=31 & data$MA <=60]<-"Medium"data$group[data$MA>=61]<-"High"
加载包
library(reshape)library(ggplot2)
数据前处理 扁平化
md<-melt(data,id=(c("group")))
因子排序
md$group<-factor(md$group,levels=c('Low','Medium','High'),ordered=TRUE)
制图 彩色

图形绘制  【数据可视化攻略】——分组箱式图结合散点图(R语言ggplot2)实

文章插图
ggplot(md,aes(x=group,value,colour=factor(group)))+geom_boxplot()+geom_dotplot(binaxis='y',stackdir='center',stackratio=1,dotsize=0.5)+facet_wrap(~variable,nrow=1)+labs(x="Group",y="M Level")+theme(plot.title=element_text(size=20,hjust=0.5))+ scale_color_hue(l=80)
黑白渐变
ggplot(md,aes(x=group,value,colour=factor(group)))+geom_boxplot()+geom_dotplot(binaxis='y',stackdir='center',stackratio=1,dotsize=0.5)+facet_wrap(~variable,nrow=1)+labs(x="Group",y="M Level")+theme(plot.title=element_text(size=16,hjust=0.5))+ scale_color_manual(breaks = c("Low", "Medium", "High"),values=c("grey72", "grey55", "grey20"))
蓝色渐变
ggplot(md,aes(x=group,value,colour=factor(group)))+geom_boxplot()+geom_dotplot(binaxis='y',stackdir='center',stackratio=1,dotsize=0.5)+facet_wrap(~variable,nrow=1)+labs(x="Group",y="M Level")+theme(plot.title=element_text(size=20,hjust=0.5))+ scale_color_manual(breaks = c("Low", "Medium", "High"),values=c("lightskyblue", "deepskyblue3", "deepskyblue4"))
作者简介
何世伟,
厦门大学公共卫生硕士
研究方向:表观遗传流行病学、循证医学