[英]line plot with 3 standart deviation in ggplot2 in r
我在ggplot2中繪制了每個點的最大值和最小值
x=rep(1:10,3)
y_all = c(1:10,2:11,3:12)
data = as.data.frame(cbind(x,y_all))
pic_1 = ggplot(data, aes(x=data$x,y=data$y_all))
pic_2 = pic_1 + stat_summary(fun.y = mean, geom = 'line', colour = 'blue')
pic_3 = pic_2+stat_summary(fun.y = mean, geom = 'ribbon',fun.ymax = max, fun.ymin =min)
pic_4=pic_3+stat_summary(fun.y = mean, geom = 'line', colour ='red',size=1)
請告訴我如何更改我的代碼,可以幫助我繪制3個標准差而不是最大值和最小值?
這可以通過計算ymin
和ymax
限制的兩個輔助函數來完成。
另外,我已經改變了第一個geom = 'line'
調用的順序。 它被彩帶過度繪制。
fun_ymin <- function(y) mean(y) - 3*sd(y)
fun_ymax <- function(y) mean(y) + 3*sd(y)
pic_1 <- ggplot(data, aes(x = x, y = y_all))
pic_2 <- pic_1 + stat_summary(fun.y = mean, geom = 'ribbon', fun.ymax = fun_ymax, fun.ymin = fun_ymin)
pic_3 <- pic_2 + stat_summary(fun.y = mean, geom = 'line', colour = 'blue', size = 2)
pic_4 <- pic_3 + stat_summary(fun.y = mean, geom = 'line', colour = 'red', size = 1)
pic_4
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.