[英]Plot with one line for each column and time-series on the x-axis R
您可以在此处找到我的数据集。
根据这些数据,我想作图(每条线):
x$y[,1]
x$y[,5]
x$y[,1]+x$y[,5]
因此,更清楚地,最后,以下各项将由一行代表:
y0,
z0,
y0+z0
我的x轴(时间序列)将从x$t
。
我已经尝试了以下方法,但是时间序列变量是有问题的,我无法弄清楚如何精确绘制它。 我的代码是:
Time <- x$t
X0 <- x$y[,1]
Z0 <- x$y[,5]
X0.plus.Z0 <- X0 + Z0
xdf0 <- cbind(Time,X0,Z0,X0.plus.Z0)
xdf0.melt <- melt(xdf0, id.vars="Time")
ggplot(data = xdf0.melt, aes(x=Time, y=value)) + geom_line(aes(colour=Var2))
您的代码中的错误来自对不是data.frame的对象的melt
的使用。 您应该这样修改:
xdf0 <- cbind.data.frame(Time,X0,Z0,X0.plus.Z0)
xdf0.melt <- reshape2::melt(xdf0, id.vars="Time")
ggplot(data = xdf0.melt, aes(x=Time, y=value)) + geom_line(aes(colour=variable))
你不必去通过melt
过程,因为你中庸之道有3条线绘制,它的罚款,分别绘制出来
ggplot(data=xdf0) + aes(x=Time) +
geom_line(aes(y=X0), col="red") +
geom_line(aes(y=Z0), col="blue") +
geom_line(aes(y=X0.plus.Z0))
但是,您没有得到图例。
关于您的示例的注释:您尝试绘制真正不同数量级的值,因此您看不到任何东西。
怎么样
matplot(xdf0, type = 'l')
?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.