繁体   English   中英

在x轴R上为每一列和时间序列绘制一条线

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM