失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > r语言ggplot2 多线图绘制图例_R语言绘制箱线图示例

r语言ggplot2 多线图绘制图例_R语言绘制箱线图示例

时间:2024-06-16 12:57:35

相关推荐

r语言ggplot2 多线图绘制图例_R语言绘制箱线图示例

R语言绘制箱线图

箱线图(又称盒须图)是常见的统计图形之一,通过绘制连续型变量的五数总括,即最小值、下四分位数(第25百分位数)、中位数(第50百分位数)、上四分位数(第75百分位数)以及最大值,描述了连续型变量的分布。箱线图能够显示出可能为离群点(范围±1.5×IQR以外的值,IQR表示四分位距,即上四分位数与下四分位数的差值)的观测。

默认情况下,两条须的延伸极限不会超过盒型各端加1.5倍四分位距的范围。此范围以外的值以点(即离群点)来表示。

本篇通过分享R语言绘制箱线图的几种常见样式的简单示例,以帮助入门的同学们掌握常规的作图技巧。

作图数据的网盘链接(提取码pmbr):

/s/1WZ2UzXPGw9M448v-fms6RA

网盘附件“alpha.csv”为某16S细菌群落测序所获得的部分alpha多样性指数数据。其第一列为样本名称;observed_species、shannon、chao1和PD_whole_tree为四种类型的alpha多样性指数,其中的数值代表了各样本中该alpha多样性指数的数值;group1和group2为样本所对应的分组信息。

本篇我们将通过绘制箱线图,展示alpha多样性指数在各分组中的分布概况。

R语言绘制箱线图的简单示例

我们首先将作图数据读到R中,并分别从中挑选部分数据,便于后续绘制不同的样式。

#读取数据

library(reshape2)

alpha alpha$group2

alpha1 alpha2 alpha3

boxplot()箱线图

R启动时默认加载了boxplot()命令,可用于绘制箱线图。我们使用boxplot()绘制箱线图展示chao1指数在c分组中的分布,如下示例。

##boxplot() 箱线图,详情使用 ?boxplot 查看帮助

par(mfrow = c(1, 2))

#常规样式

boxplot(value~group2, data = alpha3, col = '#f8766d', ylab = 'Chao1 (group c)')

#根据数据分布,添加凹槽

boxplot(value~group2, data = alpha3, col = '#f8766d', notch = TRUE, varwidth = TRUE, ylab = 'Chao1 (group c)')

ggplot2绘制箱线图

ggplot2功能强大自然不必多说,以下继续展示使用ggplot2绘制箱线图的示例。

##ggplot2

library(ggplot2)

#单变量箱线图

ggplot(alpha3, aes(x = group2, y = value)) +

geom_boxplot(outlier.size = 1, fill = '#f8766d') +

theme(panel.grid = element_blank(), panel.background = element_rect(fill = 'transparent', color = 'black')) +

labs(x = '', y = 'Chao1')

#将各数据值以抖动散点的方式添加在箱线图中,同时绘制凹槽

ggplot(alpha3, aes(x = group2, y = value, fill = group1)) +

geom_boxplot(fill = '#f8766d', notch = TRUE) +

geom_jitter(color = 'red', show.legend = FALSE) +

theme(panel.grid = element_blank(), panel.background = element_rect(fill = 'transparent', color = 'black')) +

labs(x = '', y = 'Chao1 (group c)')

#存在多分组时,多组分开展示的箱线图

ggplot(alpha2, aes(x = group2, y = value, fill = group1)) +

geom_boxplot(outlier.size = 1) +

theme(panel.grid = element_blank(), panel.background = element_rect(fill = 'transparent', color = 'black'), legend.title = element_blank(), legend.key = element_blank()) +

labs(x = '', y = 'Chao1')

#多变量情况,添加分面的箱线图

ggplot(alpha1, aes(x = group2, y = value, fill = group1)) +

geom_boxplot(outlier.size = 0.5, size = 0.5) +

facet_wrap(~variable, 2, scales = 'free') +

theme(panel.grid = element_blank(), panel.background = element_rect(fill = 'transparent', color = 'black'), legend.title = element_blank(), legend.key = element_blank()) +

labs(x = '', y = 'Chao1')

#带显著性标记“*”的箱线图

#先绘制箱线图主体

p geom_boxplot(outlier.size = 1) +

theme(panel.grid = element_blank(), panel.background = element_rect(fill = 'transparent', color = 'black'), legend.title = element_blank(), legend.key = element_blank()) +

labs(x = '', y = 'Chao1')

#再手动添加显著性标记

#注意,这里的显著性是提前已经计算好的,我们通过手动输入进来

#本篇只关注作图,不涉及统计分析

library(doBy)

alpha2_stat names(alpha2_stat) alpha2_stat$group1 alpha2_stat$sig

p + geom_text(data = alpha2_stat, aes(label = sig), vjust = -0.3) +

annotate('text', x = alpha2_stat$group2, y = alpha2_stat$value, label = '———', vjust = -0.3)

#带显著性标记“abc”的箱线图,

#先绘制箱线图主体

p geom_boxplot(outlier.size = 0.5, size = 0.5) +

facet_wrap(~variable, 2, scales = 'free') +

theme(panel.grid = element_blank(), panel.background = element_rect(fill = 'transparent', color = 'black'), legend.title = element_blank(), legend.key = element_blank()) +

labs(x = '', y = 'Chao1')

#再手动添加显著性标记

#同上所述,这里的显著性是提前通过差异分析已经计算好的,我们通过手动输入进来

alpha1_stat names(alpha1_stat) alpha1_stat$sig

p + geom_text(data = alpha1_stat, aes(label = sig, color = group1), position = position_dodge(1), vjust = -0.3)

好了,以上就是本篇的内容,大致简介了几种简单的箱线图在R中的绘制示例,以帮助刚接触R的同学们入门,get到了吗?

友情链接

R包vegan执行非参数多元方差分析(置换多元方差分析)

R包rcompanion执行非参数双因素方差分析(Scheirer-Ray-Hare检验)

R包sm执行非参数单因素协方差分析

R语言执行非参数单因素方差分析(Kruskal-Wallis检验、Friedman检验)

R语言执行多元方差分析

R语言执行重复测量方差分析

R语言执行双因素方差分析

R语言执行单因素协方差分析

R语言执行单因素方差分析及多重比较

R语言执行两组间差异分析Wilcoxon检验

R语言执行两组间差异分析T检验

R语言绘制分组柱状图

如果觉得《r语言ggplot2 多线图绘制图例_R语言绘制箱线图示例》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。