我是R和ggplot2的新手,我想知道如何在給定時間使用R來繪製時間線繪圖點?我的日期也有一些問題。 (我不確定我是否應該將這個問題作爲兩個問題發佈,但是這裏有)。按時間順序排列的時間軸和格式日期
我有一個數據框,年和月的字符格式爲YYYYMM,兩個人的名字和發生的事件。
像這樣:
> data
YearMonth Person1 Person2 Event
200606 Alice Bob event1
200606 Bob Alice event2
200608 Alice Bob event3
200701 Alice Bob event3
200703 Bob Alice event2
200605 Alice Bob event4
的日期最初是整數,這是我用as.character()
轉換爲字符。我試圖將其轉換爲格式化的日期。 我用as.Date()
並嘗試不同的方式來格式化日期。我最接近的是data$YearMonth <- as.Date(data$YearMonth,"%Y")
,但是這給了我所有2006xx和2007xx行的'2006-12-20'和'2007-12-20'。有沒有辦法做到這一點,以便我得到'YYYY-MM'或'YYYY/MM'之類的東西?
我也試過data$YearMonth <- strptime(data$YarMonth, "%Y%m")
,但那給了我<NA>
值。
但我的主要問題是時間表。
下面的圖片是那種格式的我想:
,但與x軸顯示的月份和年份(如2006-06,2006-07 ... 2007-06),和來自標有Event,Person1和Person2的軸線。
我已經看過'時間線'包?timeline
,但我所擁有的數據框沒有關於時間段(開始和結束日期)的數據。我只是有一個時間點(YearMonth)。
我也試過使用ggplot2在Draw a chronological timeline with ggplot2的例子。然而,我沒有y軸的位錯,我想讓事件行離開x軸。
注:這是一個非常簡單的例子,因爲我在2006年6月至2007年6月的時間段內有大約1000行。是否有可能用這麼多數據創建時間表?
任何幫助,非常感謝。謝謝你的時間!
非常感謝@thelatemail。除了我所擁有的數據量有一些問題,它完美的工作! :) –
@thelatemail in'axis.Date''pos'將日期值定位在水平線上。有沒有任何選項可以在ggplot2中做到這一點? 'scale_x_date'中沒有位置選項。請幫助 – mockash
這太棒了,謝謝發佈這個 –