如何在ggplot2中添加平均线


您可以使用以下基本语法添加代表 ggplot2 图中平均值的线:

 ggplot(df, aes(x=x, y=y)) +
  geom_point() +
  geom_hline(yintercept = mean(df$y, na. rm = TRUE ))

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

示例:向 ggplot2 中的绘图添加一条平均线

假设我们在 R 中有以下数据框:

 #create data frame
df <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12),
                 y=c(2, 5, 6, 5, 7, 8, 10, 12, 10, 9, 11, 15))

#view head of data frame
head(df)

  xy
1 1 2
2 2 5
3 3 6
4 4 5
5 5 7
6 6 8

我们可以使用以下代码创建 x 与 y 的散点图,并添加表示平均 y 值的水平线:

 library (ggplot2)

#create scatter plot with average line to represent average y-value
ggplot(df, aes(x=x, y=y)) +
    geom_point() +
    geom_hline(yintercept = mean(df$y, na. rm = TRUE )) 

ggplot2 添加平均线

我们可以看到一条平均线已添加到图中 y 值 8 的上方。

如果我们计算平均 y 值,我们会发现它是 8.333:

 #calculate average y-value
mean(df$y, na. rm = TRUE )

[1] 8.333333

请注意,我们还可以使用colorltylwd参数分别指定平均线的颜色、线型和线宽:

 library (ggplot2)

#create scatter plot with custom average line
ggplot(df, aes(x=x, y=y)) +
    geom_point() +
    geom_hline(yintercept = mean(df$y, na. rm = TRUE ), color=' blue ', lty=' dashed ', lwd= 2 ) 

中间的线现在是蓝色的虚线,线宽为 2。

您可以 在此处找到geom_hline()函数的完整在线文档。

其他资源

以下教程解释了如何在 ggplot2 中执行其他常见任务:

如何在ggplot2中绘制趋势线
ggplot2中如何调整线条粗细
如何在ggplot2中设置轴限制

添加评论

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