EasyStat-如何提取数据+个性化出图
写在前面
目前EasyStat包使用过程中有朋友问,如何修改图片,这里我想说,出图函数都会有出图数据的输出,大家只需要提取数据,即可自己在外面出图。
下面我以柱状图和箱线图为例,为大家演示一下。
实战
#-----EasyStat--高级使用使用
# 我们并不是必须使用这个包来作图,比较这个包中封装的函数也只是ggplot而已
library(EasyStat)
library(ggplot2)# 用于作图
library("dplyr")# 用于数据处理
使用方差检验结果和多重比较结果做展示
###----使用方差检验结果和多重比较结果做展示:柱状图展示
result= aovMcomper (data = data_wt, i= 6,method_Mc = "Tukey")
绘制柱状图
PlotresultBar = aovMuiBarPlot(data = data_wt, i= 6,sig_show ="abc",result = result[[1]])
#提取结果
p <- PlotresultBar[[1]]
p
ggsave("1.png",p)
提取数据—直接使用ggplot出图
#--提取数据--直接使用ggplot出图
data <- PlotresultBar[[3]]
p = ggplot(data , aes(x = group, y = mean,colour= group)) +
geom_bar(aes(colour= group,fill = group),stat = "identity", width = 0.4,position = "dodge") +
geom_errorbar(aes(ymin=ymin,
ymax=ymax),
colour="black",width=0.1,size = 1) +
geom_text(aes(label = groups,y=ymax, x = group,vjust = -0.3,size = 6))
p
ggsave("2.png",p)
line形式显著标记柱状图
#--------line形式
PlotresultBar = aovMuiBarPlot(data = data_wt, i= 6,sig_show ="line",result = result[[1]])
#提取结果
p <- PlotresultBar[[1]]
p
ggsave("3.png",p)
提取数据 直接作图
data <- PlotresultBar[[3]]
p = ggplot(data , aes(x = group, y = mean,colour= group)) +
geom_bar(aes(colour= group,fill = group),stat = "identity", width = 0.4,position = "dodge") +
geom_errorbar(aes(ymin=ymin,
ymax=ymax),
colour="black",width=0.1,size = 1)
p
ggsave("4.png",p)
提取线段样式的数据直接绘图
#---- 提取线段链接样式的数据
line <- PlotresultBar[[4]]
p <- p +
ggsignif::geom_signif(comparisons =line$comparisons, annotations=line$annotations,
y_position = line$y_position, tip_length = line$tip_length,color = "black")
ggsave("5.png",p)
line形式 去除ns的连线
#-------
PlotresultBar = aovMuiBarPlot(data = data_wt, i= 6,sig_show ="line",result = result[[1]],ns = TRUE)
#提取结果
p <- PlotresultBar[[1]]
p
ggsave("6.png",p)
同样提取数据 作图
#---不使用出图只使用数据--这里只要ns = TRUE,提取出来数据也会是没有ns的线
data <- PlotresultBar[[3]]
p = ggplot(data , aes(x = group, y = mean,colour= group)) +
geom_bar(aes(colour= group,fill = group),stat = "identity", width = 0.4,position = "dodge") +
geom_errorbar(aes(ymin=ymin,
ymax=ymax),
colour="black",width=0.1,size = 1)
p
ggsave("7.png",p)
#---- 提取线段链接样式的数据
line <- PlotresultBar[[4]]
p <- p +
ggsignif::geom_signif(comparisons =line$comparisons, annotations=line$annotations,
y_position = line$y_position, tip_length = line$tip_length,color = "black")
ggsave("8.png",p)
箱线图
#-箱线图
# #使用案例
PlotresultBox = aovMuiBoxP(data = data_wt, i= 6,sig_show ="abc",result = result[[1]])
#提取图片
p = PlotresultBox[[1]]
p
ggsave("9.png",p)
提取数据做箱线图
data_box <- PlotresultBox[[2]]
p = ggplot(data_box, aes(x=group, y=data_box[["dd"]], color=group)) +
geom_boxplot(alpha=1, outlier.size=0, size=0.7, width=0.5, fill="transparent") +
geom_jitter( position=position_jitter(0.17), size=1, alpha=0.7)+theme(legend.position="none") +
geom_text(data=data_box, aes(x=group, y=y, color=group, label= stat))
p
ggsave("10.png",p)
使用line展示差异
# #使用案例
PlotresultBox = aovMuiBoxP(data = data_wt, i= 6,sig_show ="line",result = result[[1]],ns = TRUE)
#提取图片
p = PlotresultBox[[1]]
p
ggsave("11.png",p)
提取数据 ggplot出图
data_box <- PlotresultBox[[2]]
p = ggplot(data_box, aes(x=group, y=data_box[["dd"]], color=group)) +
geom_boxplot(alpha=1, outlier.size=0, size=0.7, width=0.5, fill="transparent") +
geom_jitter( position=position_jitter(0.17), size=1, alpha=0.7)+theme(legend.position="none") +
geom_text(data=data_box, aes(x=group, y=y, color=group, label= stat))
p
ggsave("12.png",p)
手动添加line标记
line <- PlotresultBox[[3]]
#--调整连线位置,可以修改line$y_position,这里我乘以1.5 ,整个线条往上移动
p <- p +
ggsignif::geom_signif(comparisons =line$comparisons, annotations=line$annotations,
y_position = line$y_position * 1.5, tip_length = line$tip_length,color = "black")
ggsave("13.png",p)