R - ggplot绘制带误差线的柱状图

ggplot绘制带误差线的柱状图

  1. 利用ggplot2
  2. 数据格式转换并做统计计算
  3. 绘制图形
## 模拟
## 导入包
library(ggplot2)
library(reshape2)
library(RColorBrewer)

## 载入数据
df <- iris
df <- melt(df, id="Species", variable.name="Attribute", value.name = "Size")
mycol= brewer.pal(n = 12, name = "Set3")

## 统计 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)
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")
str(df_res)
df_res$Se <- df_res$Sd/sqrt(df_res$Count) ### 计算标准差


### ggplot 绘图 (标准差:误差线)
ggplot(df_res, aes(x=Attribute, y=Mean, fill=Species)) +
  geom_bar(stat="identity", position=position_dodge(),color="black", width=.6) +
  scale_fill_manual(values = mycol) +
  geom_errorbar(aes(ymin=Mean-Sd, ymax=Mean +Sd),position=position_dodge(.6), width=.2)
  theme_bw()

  ggplot(df_res, aes(x=Attribute, y=Mean, fill=Species)) +
    geom_bar(stat="identity", position=position_dodge(),color="black", width=.6) +
    scale_fill_manual(values = mycol) +
    geom_errorbar(aes(ymin=Mean-Sd, ymax=Mean +Sd),position=position_dodge(.6), width=.2) +
  theme_bw()

在这里插入图片描述

  • 13
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
R语言中,使用ggplot2包可以绘制堆积柱状图。堆积柱状图可以用于比较多个类别在不同组之间的占比或数量。下面是使用ggplot2包绘制堆积柱状图的基本步骤: 首先,导入ggplot2包,并准备好要用于绘图的数据。数据应该为长格式(长格式数据是指每行代表一个观察值,每列对应一个变量)。确保数据有多个类别变量以及分组变量。 接下来,使用ggplot()函数创建一个空的绘图对象。指定数据源以及要使用的x和y变量。 然后,使用geom_bar()函数添加柱状图的图层。设置stat参数为"identity"来保持堆积柱状图的原始值。使用fill参数来指定填充颜色变量,这将决定不同类别的颜色。 最后,可以使用scale_fill_manual()函数手动设置颜色,也可以使用labs()函数添加标题和标签等。 绘图代码的示例: ```R library(ggplot2) # 准备数据 # 假设有一个数据框df,包含类别变量category,分组变量group以及对应的数值value # 例如,可以通过下面的代码创建一个示例数据 df <- data.frame(category = rep(c("A", "B", "C"), each = 3), group = rep(c("Group 1", "Group 2", "Group 3"), 3), value = c(10, 15, 20, 8, 12, 16, 5, 7, 9)) # 创建绘图对象 ggplot(data = df, aes(x = group, y = value, fill = category)) + # 添加堆积柱状图 geom_bar(stat = "identity") + # 设置颜色 scale_fill_manual(values = c("#F8766D", "#00BFC4", "#C77CFF")) + # 添加标题和标签 labs(title = "堆积柱状图", x = "分组", y = "数值") ``` 这段代码将绘制一个堆积柱状图,x轴为分组变量,y轴为数值变量,不同类别的柱状块使用不同的颜色进行填充。可以通过设置颜色值来自定义颜色,也可以根据需要添加其他图层或修改参数来进一步定制绘图的样式。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值