如何使用 R 中的 ggplot2 创建具有 3-sigma 限值的折线图?

r programmingserver side programmingprogramming更新于 2025/4/11 12:37:17

要使用 ggplot2 创建具有 3-sigma 限值的折线图,我们首先需要计算限值,然后才能创建图表。我们可以使用 ggplot2 的 geom_ribbon 函数来实现此目的,我们可以在 aes 中为 ymin 参数传递 3-sigma 下限,在 aes 中为 ymin 参数传递 3-sigma 上限,我们还需要指定 alpha,以便可以区分线条的颜色和限值。

示例

考虑以下数据框:

> set.seed(14)
> x<-1:20
> y<-rnorm(20,1,0.5)
> df<-data.frame(x,y)
> df

输出

   x    y
1  1 0.6690751
2  2 1.8594771
3  3 2.0608335
4  4 1.7485768
5  5 0.9819297
6  6 1.6159726
7  7 0.9675596
8  8 1.5344969
9  9 0.8115173
10 10 1.5215915
11 11 0.8085891
12 12 1.1497108
13 13 1.3371199
14 14 0.8535918
15 15 1.2440267
16 16 1.4414009
17 17 1.9313745
18 18 1.8058626
19 19 1.0677398
20 20 1.5440430

计算下限和上限:

> df$Lower<-df$y-3*mean(df$y)
> df$Upper<-df$y+3*mean(df$y)

加载 ggplot2 包并为 y 创建折线图:

示例

> library(ggplot2)
> ggplot(df,aes(x,y))+geom_line()

输出:

创建具有 3-sigma 限值的折线图:

示例

> ggplot(df,aes(x,y))+geom_line()+geom_ribbon(aes(ymin=Lower,ymax=Upper,alpha=0.1))

输出:


相关文章