📜  如何在 R 中的 ggplot2 中制作带有误差条的条形图?(1)

📅  最后修改于: 2023-12-03 15:24:21.232000             🧑  作者: Mango

如何在 R 中的 ggplot2 中制作带有误差条的条形图?

在数据分析中,我们经常需要制作柱状图、条形图等图表来展示数据。而对于实验数据,我们也需要考虑误差的范围,因此需要在图表中展示误差条。下面就来介绍如何在 R 中的 ggplot2 中制作带有误差条的条形图。

准备数据

首先,我们需要准备数据。在这里,我将使用 R 自带的 iris 数据集。

library(ggplot2)
data("iris")

我们只需要使用其中两个变量(Sepal.Length 和 Species)用于制作图表。

data <- iris[,c("Sepal.Length","Species")]
head(data)
制作带有误差条的条形图

有了数据之后,接下来就是制作条形图。在 ggplot2 中,我们可以使用 geom_bar() 函数来制作条形图,使用 stat_summary() 函数来计算误差范围。具体代码如下:

ggplot(data, aes(x = Species, y = Sepal.Length, fill = Species)) +
  geom_bar(stat = "identity", position = "dodge") +
  stat_summary(fun.data = "mean_sdl", fun.args = list(mult = 1), geom = "errorbar", width = 0.25, position = position_dodge(0.9))

代码解释如下:

  • ggplot(data, aes(x = Species, y = Sepal.Length, fill = Species)) 表示将 data 数据集绑定到 ggplot2 中,并指定 x 轴、y 轴以及填充颜色的变量。
  • geom_bar(stat = "identity", position = "dodge") 表示制作柱状图,stat = "identity" 表示不需要计算统计量,而是使用已有的变量数据;position = "dodge" 表示将每个变量的条形分别分开。
  • stat_summary(fun.data = "mean_sdl", fun.args = list(mult = 1), geom = "errorbar", width = 0.25, position = position_dodge(0.9)) 表示计算数据的平均值和误差上下限,并将其绘制为误差条。其中,fun.data = "mean_sdl" 表示计算平均值和标准差的上下限;fun.args = list(mult = 1) 表示计算 1 个标准差的上下限;geom = "errorbar" 表示绘制误差条;width = 0.25 表示误差条的宽度为 0.25;position = position_dodge(0.9) 表示将误差条与条形一起分开。

运行代码,您将得到一张带有误差条的条形图,如下图所示:

误差条的条形图

结语

制作带有误差条的条形图,可以更准确地展示实验数据的相关信息。在 ggplot2 中,我们可以使用 stat_summary() 函数来计算误差范围,并使用 geom_errorbar() 函数来绘制误差条。希望这篇教程能对您有所帮助。