2016-11-28 28 views
0

我有以下帶有列日期和列值的R數據框,列日期是R chron對象(格式爲< - 「m/d/y h:m:s」)。在日期 - 時間對象上繪製直方圖在數據框上

我想要做的是通過繪製直方圖或折線圖來顯示時間序列數據,並且我還希望在x軸上指定日期時間範圍(例如,從10/2/16 20:00: 00至10/3/16 20:00:00)。然而,在搜索在線指南後,我仍然沒有任何線索。

有人會給我一個示例代碼使用ggplot或其他包?我感謝您的幫助。

Date     Value 
(10/03/16 09:31:00) 180,912.00 
(10/03/16 09:32:00) 112,359.00 
(10/03/16 09:35:00) 93,539.00 
(10/03/16 09:35:00) 156,283.00 
(10/03/16 09:36:00) 226,704.00 
(10/03/16 09:37:00) 780,094.00 
(10/03/16 09:45:00) 184,632.00 
(10/03/16 09:48:00) 144,984.00 
(10/03/16 09:49:00) 311,035.00 
(10/03/16 09:51:00) 210,653.00 
(10/03/16 09:51:00) 72,626.00 
(10/03/16 09:52:00) 241,173.00 
(10/03/16 09:54:00) 233,416.00 
(10/03/16 09:55:00) 146,550.00 
(10/03/16 10:24:00) 331,191.00 
(10/03/16 10:28:00) 107,015.00 
(10/03/16 10:36:00) 196,162.00 
(10/03/16 10:41:00) 466,879.00 
(10/03/16 10:44:00) 294,589.00 
(10/03/16 10:48:00) 164,339.00 
(10/03/16 10:52:00) 137,082.00 
(10/03/16 10:58:00) 180,667.00 
(10/03/16 11:04:00) 259,475.00 

更新於2016年11月28日6:35 PM 隨着yeedle的代碼的幫助下,我能夠繪製如下:

ggplot(temp_merge_sub1,AES(X =日期,Y =價值, 組= 1))+ geom_bar(STAT = 「同一性」)

GGPlot2

我真正想要從改善是:

  • 如何正確設置在y軸的斷裂?
  • 如何在x軸上設置中斷並在每個2小時間隔中的累計值上顯示直方圖?

謝謝你的幫忙!我很感激!

+0

你可以發佈df的'dput'輸出嗎? – yeedle

+0

您在同一個日期時間有多個值。你想如何顯示在劇情上? – yeedle

+0

謝謝@yeedle幫助我的問題。上面的數據只是我的數據的一小部分,我想用直方圖顯示的是在某些固定時間範圍內累計的值(例如2小時休息時間,10/3/2016 6:00 - 8: 00,8:00-10:00,等等),然後瞭解每個時間間隔上的累加值直方圖。我不確定ggplot2是否可以做到這一點? –

回答

0

我將日期轉換爲POSIXct對象,使用lubridateymd_hms函數。

library(ggplot2) 
ggplot(df, aes(x=Date, y=Value)) + 
    geom_bar(stat="identity") + 
    scale_x_datetime(limits =c(mdy_hms("10/2/16 20:00:00"),mdy_hms("10/3/16 20:00:00"))) 

bar plot with 1-day scale

您獲得更清晰的圖像,而不scale_x_datetime限制:

bar plot with no scale limits

只需使用geom_line更換geom_bar的線圖:

ggplot(df, aes(x=Date, y=Value)) + 
    geom_line() 

line plot

+1

或者使用'geom_col'代替。 – Axeman

+0

@Axeman什麼是'geom_col'?必須是一個新的。 – yeedle

+1

這是新的是的。它相當於'geom_bar(stat =「identity」)'。 – Axeman

相關問題