R或ggplot2畫圖 如何將乙個資料框中的不同列的時間序列表現在乙個圖上用於對比?

時間 2021-05-30 00:13:13

1樓:

假設你的 data.frame / data.table DT的列名如下:

Time, C1, C2 ,,,C5

melt.DT <- melt(DT, 'Time') #先melt成長資料

ggplot(melt.DT) +

geom_line(aes(x = TIME, y = value, colour = variable)) +

facet_grid(variable ~ ., scales = 'free_y') # free_y 使縱軸伸縮到適應視窗大小,可選

距離您提問比較晚了,希望還能幫得上

2樓:

用reshape2將短格式的資料變成長格式,資料結構變為日期一列(date),值一列(value),分組一列(group)

ggplot(df, aes(x = date, y = value, color = group)) + geom_line()

3樓:屯兒裡的人兒

我覺得首先是得把資料處理一下,假設時間是第一列for (i in 1:5)

data1<-rbind(a1,a2,a3,a4,a5)colnames(data1)<-c("time","x","figure")

plot<-ggplot(data1,aes(time,x))+geom_line()+facet_grid(figure~., ncol = 3)

應該可以吧?試試,哈哈哈!

4樓:竹蓆

畫在乙個圖內的話用ggplot2的對映可以實現,在aes引數內進行設定,或者用facet_grid做分面。詳情可以參考wickham那本書。

5樓:卡伊粥

發現了乙個比較好的畫時序資料的包,timeSeriesLibrary(timeSeries)

Library(xts)

stocks <- xts(df[,-1], order.by=as.Date(df[,1], "%m/%d/%Y"))

stocks <- timeSeries(stocks)par(mfrow=c(1, 1))

plot(stocks, plot.type="m", at="chic")

畫出來的圖還不錯,滿足我的需要。

但是這不是基於ggplot2的,還是請ggplot2的專業人士解答一下哈~

ggplot2 畫圖能夠取代 Matlab 嗎,有哪些侷限,如何取捨?

HaoLi111 ggplot2是為了資料科學而設計的影象軟體,其中對資料的後處理,影象生成時的預設模式和自定義提供了一套簡潔的語法 GoG 提供這套語法的不止有R的ggplot2,還有python的ggplot和Julia的gadfly.jl等等。ggplot2在效能上優先優化速度而非記憶體。此外...

如何用ggplot2 作雙座標多維度折線圖?

林小小 plotrix包中的twoord.plot 函式和twoord.stackplot 函式,它們可以實現雙座標軸圖形的繪製。使用R繪製幾種常用的雙座標軸圖形 網上找到的都是用plot lines 或者是twoord.plot 實現的,用ggplot2實現的方法如下 RPubs Dual axi...

R1 0,R2 0,R1 R2,為什麼 R1 R2 R1 R2 會恆小於 R2 呢?

千石 純數學證明很多人都說了,我就用圖形稍微解釋下題幹中的 為什麼 的部分吧。首先就是我們假設有個長方形,邊長是a R1和b R2,那麼它的面積s R1 R2。在面積不變的前提下,a增大,那麼b應當相應地減小。即 if a R1 then b理解這點的前提下,那麼自然可以看出 a R1 R2 R1時...