gpt4 book ai didi

r - 使用for循环用ggplot2在单个图中绘制多条线

转载 作者:行者123 更新时间:2023-12-04 16:40:12 37 4
gpt4 key购买 nike

我尝试在单个图中绘制多条线,如下所示:

y <- matrix(rnorm(100), 10, 10)
m <- qplot(NULL)
for(i in 1:10) {
m <- m + geom_line(aes(x = 1:10, y = y[,i]))
}
plot(m)

然而,似乎 qplot将解析 m期间 plot(m)哪里 i10 , 所以 plot(m)只生产单行。

我希望看到的类似于:
plot(1,1,type='n', ylim=range(y), xlim=c(1,10))
for(i in 1:10) {
lines(1:10, y[,i])
}

其中应包含 10 行不同的行。

有没有 ggplot2如何做到这一点?

最佳答案

您应该以 ggplot2 方式执行此操作,而不是运行循环。
ggplot2 需要长格式的数据(您可以使用 reshape2::melt() 对其进行转换)。然后通过列(此处为 Var2)拆分行。

y <- matrix(rnorm(100), 10, 10)
require(reshape2)
y_m <- melt(y)

require(ggplot2)
ggplot() +
geom_line(data = y_m, aes(x = Var1, y = value, group = Var2))

enter image description here

关于r - 使用for循环用ggplot2在单个图中绘制多条线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14704742/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com