簡體   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