如何用ggplot绘制几行?

时间:2015-12-17 21:55:31

标签: r ggplot2

此代码绘制2行

dd = list(data.frame(rates=1:5), data.frame(rates=2:6), data.frame(rates=3:7))
library(ggplot2)
library(zoo)
g = ggplot(, aes(1:5))
g <- g + geom_line(aes(y = dd[[1]]$rate[index(dd[[1]]) <= 5]), colour="#000000")
g <- g + geom_line(aes(y = dd[[2]]$rate[index(dd[[2]]) <= 5]), colour="#000000")
g

enter image description here

但是这段代码画了1行(最后一个,2个)

dd = list(data.frame(rates=1:5), data.frame(rates=2:6), data.frame(rates=3:7))
g = ggplot(, aes(1:5))
foreach (i = 1:2) %do% {
  g <- g + geom_line(aes(y = dd[[i]]$rate[index(dd[[i]]) <= 5]), colour="#000000")
}
g

enter image description here

r-fiddle

上的示例

为什么以及如何解决?

1 个答案:

答案 0 :(得分:4)

正如我所提到的,我认为你应该简单地停止使用 ggplot2

g = ggplot(, aes(1:5))
foreach (i = 1:2) %do% {
  g <- g + geom_line(data = dd[[i]],aes(y = rates), colour="#000000")
}
g

这就像你的第一个例子一样产生两行。