如何在 r 中向图表添加误差线(附示例)


您可以使用以下基本语法将误差线添加到 R 中的条形图中:

 ggplot(df) +
    geom_bar( aes (x=x, y=y), stat=' identity ') +
    geom_errorbar( aes (x=x, ymin=y-sd, ymax=y+sd), width= 0.4 )

以下示例展示了如何在实践中使用此功能。

示例 1:使用汇总数据添加误差线

假设我们在 R 中有以下数据框,显示五个类别的汇总统计信息:

 #create data frame
df <- data. frame (category=c('A', 'B', 'C', 'D', 'E'),
                 value=c(12, 17, 30, 22, 19),
                 sd=c(4, 5, 7, 4, 2))

#view data frame
df

  category value sd
1 to 12 4
2 B 17 5
3 C 30 7
4 D 22 4
5 E 19 2

我们可以使用以下代码创建带有误差线的条形图来可视化此数据:

 library (ggplot2)

#create bar plot with error bars
ggplot(df) +
    geom_bar( aes (x=category, y=value), stat=' identity ', fill=' steelblue ') +
    geom_errorbar( aes (x=category, ymin=value-sd, ymax=value+sd), width= 0.4 )

R 中带有误差线的条形图

请随意使用以下参数来更改误差线的外观:

  • width :误差线的宽度
  • size :误差线的厚度
  • color : 误差线的颜色

例如:

 library (ggplot2)

#create bar plot with custom error bars
ggplot(df) +
    geom_bar( aes (x=category, y=value), stat=' identity ', fill=' steelblue ') +
    geom_errorbar( aes (x=category, ymin=value-sd, ymax=value+sd),
                  width= 0.3 , size= 2.3 , color=' red ')

示例 2:使用原始数据添加误差线

假设我们有以下数据框,显示五个不同类别的原始数据:

 #make this example reproducible
set. seeds (0)

#create data frame
df <- data. frame (category=rep(c('A', 'B', 'C', 'D', 'E'), each= 10 ),
                 value=runif(50, 10, 20))

#view first six rows of data frame
head(df)

  category value
1 A 18.96697
2 A 12.65509
3 A 13.72124
4 A 15.72853
5 A 19.08208
6 A 12.01682

以下代码显示了如何汇总数据,然后创建带有误差线的条形图:

 library (dplyr)
library (ggplot2)

#summarize mean and sd for each category
df_summary <- df %>%
  group_by(category) %>%
  summarize(mean=mean(value),
            sd=sd(value))

#view summary data
df_summary

# A tibble: 5 x 3
  category mean sd
       
1 A 16.4 2.80
2B 14.9 2.99
3 C 14.6 3.25
4 D 15.2 2.48
5 E 15.8 2.41 

#create bar plot with error bars
ggplot(df_summary) +
    geom_bar( aes (x=category, y=mean), stat=' identity ', fill=' steelblue ') +
    geom_errorbar( aes (x=category, ymin=mean-sd, ymax=mean+sd), width= 0.3 , color=' red ') 

其他资源

以下教程介绍了如何在 R 中创建其他常见的数据可视化:

如何在 R 中绘制多个箱线图
如何在 R 中绘制多个直方图
如何在R中绘制多条线

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注