您可以找到我的数据集here。
根据这些数据,我希望绘制(每行一行):
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))
答案 0 :(得分:0)
代码中的错误来自于使用melt
应用于不是data.frame的对象。您应该像这样修改:
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
过程,因为你有一条线要绘制,可以单独绘制它们
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))
但是,你没有得到传奇。
关于你的例子的评论:你试图绘制真正不同数量级的值,所以你真的看不到任何东西。
答案 1 :(得分:0)
怎么样
matplot(xdf0, type = 'l')