繁体   English   中英

向R中的线图添加功能区

[英]Add a ribbon to a line plot in R

我想知道是否有人可以帮助我。 我有10个时间序列,每一个都有100分。 我想将平均时间序列绘制为折线图,并在这条线上添加阴影色带,以表示10个时间序列之间的标准差。

时间序列定义为:

q[110,10]  

我计算出的均值序列为:

q.mean = apply(q,c(1),mean)  

并且标准偏差限制为:

q.pos = q.mean + apply(q,2,sd)  
q.neg = q.mean - apply(q,2,sd) 

现在我想将qm绘制为一条线,如果可能的话,使用q.pos和q.neg作为限制添加一个功能区

我想知道是否可以使用ggplot做到这一点。 有谁对如何完成这项工作有任何想法。 感谢您的投入。 谢谢!

您可能需要查看以下链接: http : //docs.ggplot2.org/current/geom_ribbon.html

但是,此简单的代码应使您走上正确的道路。

library(ggplot2)
q <- data.frame(
  x   = seq(1, 100, 1),
  ts1 = sample(1:100),
  ts2 = sample(1:100))

q$mean <- apply(q, 1, function(row) mean(row[-1]))
q$sd   <- apply(q, 1, function(row) sd(row[-1]))

eb <- aes(ymax = mean + sd, ymin = mean - sd)
ggplot(data = q, aes(x = x, y = mean)) + 
  geom_line(size = 2) + 
  geom_ribbon(eb, alpha = 0.5)

请注意,您正在计算列的标准偏差(在apply调用中为MARGIN = 2),而不是行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM