如何使用 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))