【问题标题】:How to plot stack series line graph in R?如何在R中绘制堆栈系列折线图?
【发布时间】:2013-08-21 13:56:46
【问题描述】:

我想在同一个图中绘制堆栈系列折线图。我一直在这个论坛上阅读并尝试了几个提到的例子。但是,我没有运气做对。

这是我在 R 中的数据摘要:

> head(allPAL.DE)
               time02H       time06H       time24H
TT000526   -0.01106224     1.0080723     0.8315261
TT000561   -0.30812201    -0.4085618     0.5446794
TT000794    1.22833349     3.3781206     2.5952071
TT000197   -0.23966166    -0.2603373     0.5623011
TT000238   -0.33446383     0.6522561     0.5815776
TT000684    0.73437943     1.3070386    -1.2774730

它是一个数据框R对象:

> str(allPAL.DE)
'data.frame':   15 obs. of  3 variables:
 $ time02H: num  -0.0111 -0.3081 1.2283 -0.2397 -0.3345 ...
 $ time06H: num  1.008 -0.409 3.378 -0.26 0.652 ...
 $ time24H: num  0.832 0.545 2.595 0.562 0.582 ...

我希望用 R 生成一个堆栈系列折线图,如下所示:

社区能否与我分享在 R 中生成上述图表的方法?

非常感谢您的宝贵时间。

【问题讨论】:

  • 当您的数据包含负数时,您真的要绘制堆积值图吗?这很难从视觉上解释,并且很容易产生误导。
  • @DrewSteen 这不是必须的。感谢您指出。

标签: r plot linegraph


【解决方案1】:

这里有一些代码可以满足你的需求。

#Example Data
n = 6
time02H = abs(rnorm(n))
time06H = abs(rnorm(n))
time24H = abs(rnorm(n))

allPAL.DE = data.frame(time02H,time06H,time24H)

plot(0,0,xlab="Time",ylab="Values",type="n",xlim=c(0,2),ylim=c(min(allPAL.DE,0),max(allPAL.DE)),axes="FALSE")
box()
axis(1,0:2,c("time02H","time06H","time24H"))
axis(2)
abline(h=0,col="grey",lty=2,lwd=2)

for(i in 1:nrow(allPAL.DE)){
    lines(0:2,allPAL.DE[i,],col=i,lwd=2)
}

您可以添加不同的选项、颜色和文本以使情节看起来更漂亮,但这正是您所要求的基本理念。

【讨论】:

  • 感谢您的 R 演示。确实很有帮助。
猜你喜欢
  • 2023-01-30
  • 1970-01-01
  • 2017-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-28
  • 2019-04-13
  • 2021-06-30
相关资源
最近更新 更多