【R语言】--- 分组柱状图

作者: 生态数据 | 来源:发表于2021-11-20 21:36 被阅读0次

基本简介

分组柱状图,又叫聚合柱状图。当需要在同一个轴上显示各个分类下不同的分组时,需要用到分组柱状图,是学术论文中常用的图。每个分组中的柱子使用不同的颜色或者相同颜色不同透明的方式区别各个分类,各个分组之间需要保持间隔。

基本用法

利用ggplot2包进行绘制,这里不赘述。

示例

##批量加载包
{library(ggplot2)
  library(reshape2)
  library(cowplot)
}
#清空
rm(list = ls())
##载入iris数据
data <- iris
###melt()函数重新融合数据
df <- melt(data, id="Species", variable.name="Attribute", value.name = "Size")
head(df)
##计算3种鸢尾花形态数据数据均值、标准差
mean <- aggregate(df$Size, by=list(df$Species, df$Attribute), FUN=mean)
sd <- aggregate(df$Size, by=list(df$Species, df$Attribute), FUN=sd)
###计算3种鸢尾花的个数
len <- aggregate(df$Size, by=list(df$Species, df$Attribute), FUN=length)
##合并均值和标准差为数据格式
df_res <- data.frame(mean, sd=sd$x, len=len$x)
##为合并好的数据命名列名
colnames(df_res) = c("Species", "Attribute", "Mean", "Sd", "Count")
##查看合并并命名后的数据
df_res
###计算3种鸢尾花的标准误se=sd/sqrt(n)
df_res$Se <- df_res$Sd/sqrt(df_res$Count)
#######绘图#########
##########用SE(标准误差/标准误)进行作图###########
a<-ggplot(df_res, aes(x=Attribute, y=Mean, fill=Species)) +
  geom_bar(stat="identity", position=position_dodge(),
           color="black", width=.8) +
  geom_errorbar(aes(ymin=Mean-Se, ymax=Mean +Se),
                position=position_dodge(.8), width=.2) +
  theme_bw()+
  scale_y_continuous(expand=c(0,0))+
  coord_cartesian(ylim = c(0, 8))+
  theme(axis.text.x = element_text(size = 14, color = "black"))+##设置x轴字体大小
  theme(axis.text.y = element_text(size = 14, color = "black"))+##设置y轴字体大小
  theme(title=element_text(size=13))+#设置标题字体大小
  theme_bw()
a
##########用SD(标准偏差/标准差)进行作图###########
b<-ggplot(df_res, aes(x=Attribute, y=Mean, fill=Species)) +
  geom_bar(stat="identity", position=position_dodge(),
           color="black", width=.8) +
  geom_errorbar(aes(ymin=Mean-Sd, ymax=Mean +Sd),
                position=position_dodge(.8), width=.2) +
  theme_bw()+
  scale_y_continuous(expand=c(0,0))+
  coord_cartesian(ylim = c(0, 8))+
  theme(axis.text.x = element_text(size = 14, color = "black"))+##设置x轴字体大小
  theme(axis.text.y = element_text(size = 14, color = "black"))+##设置y轴字体大小
  theme(title=element_text(size=13))+#设置标题字体大小
  theme_bw()
b
#######合并两张图#########
plot_grid(a, b, labels = LETTERS[1:2])
#######合并四张图#########
plot_grid(a, b, a, b, labels = LETTERS[1:4])

#保存图片
ggsave('Result.png')

参考文献

[1] https://www.rdocumentation.org/packages/ggplot2/versions/3.3.5
[2] https://ggplot2-book.org/preface-to-the-second-edition.html

相关文章

  • 【R语言】--- 分组柱状图

    基本简介 分组柱状图,又叫聚合柱状图。当需要在同一个轴上显示各个分类下不同的分组时,需要用到分组柱状图,是学术论文...

  • ggplot学做NC文章分许柱状图、添加抖动点、添加误差线

    今天使用R语言ggplot做一下NC文章的分组柱状图。原文提供原始作图数据,本文使用数据及整合、还有注释代码已上传...

  • 可视化库Highcharts-4-绘制柱状图2

    Highcharts-4-柱状图2 本文介绍了3种Highcharts中柱状图的制作: 堆叠柱状图 分组堆叠柱状图...

  • 【R语言】--- 分组点图

    基本简介 分组点图,与分组柱状图类似,当需要在同一个轴上显示各个分类下不同的分组时,需要用到分组柱状图。论文中常见...

  • 科研绘图——柱状图

    R语言科研绘图——柱状图 前言 使用R语言绘制能够发表的图片,ggplot2是一个很好的选择。并且一些基于ggpl...

  • R语言ggplot2绘制分组箱型图和分组柱状图

    需求论文中常见的分组箱型图和分组条形图可以直观的比较方法的效果,以一个图显示多个方法在多个数据集上的AUC或AUP...

  • 【科研猫·绘图】bar(霸)图绘制之霸气满屏

    怎么做柱状图,怎么做bar图,bar图R语言代码免费分享,R语言做bar图 如果一篇科研论文没有bar图,那它可能...

  • Stata-柱状图

    根据Stata的帮助文档,我罗列部分柱状图的绘制方案。 分组累积柱状图 数据格式要求:分组变量与几个待加总变量,比...

  • 横向柱状图

    横向柱状图正负值分开,颜色区分 标签: R语言 上面的示意图中我们要注意的问题: 横向柱状图正负值区分颜色赋值画柱...

  • 【R>>barplot】特别的柱状图

    题记:一个简单但富有特色的柱状图 本文为ggplot2绘制一个特别的柱状图(来自公众号:R语言数据分析指南)的学习...

网友评论

    本文标题:【R语言】--- 分组柱状图

    本文链接:https://www.haomeiwen.com/subject/rzsibltx.html