說明:
# ggplot2
# packages list
# XML
# geom_col
# goem_line
# geom_point
# scale_y_continuous
# R程式碼更新ggplot2 - dual y axis標題等語法
R程式碼下載 -->
# end
- [#1-2] 首先載入 XML, ggplot2 套件.
- [#3] 使用CRAN網站-依日期排列抓取現有1萬多個套件清單,
例: http://cran.csie.ntu.edu.tw/web/packages/available_packages_by_date.html - [#4] 使用 readHTMLTable {XML} 函數以讀取網站中的套件清單表格, 將結果儲存為mydf資料物件.
- [#7] 使用 trimws {base} 函數以刪除欄位名稱空白字元.
- [#8] 原匯入第1欄 Date為字串資料型態, 使用 as.Date {base} 轉換為 日期(Date) 資料型態.
- [#9] 使用 format {base}並取出套件更新年, 使用 table {base} 以計算各年套件個數.
- [#10] 使用 cumsum {base}計算累計套件數並新增為 AccumulatedPAckages 欄位.
- [#11] 使用 names {base} 設定前二欄名稱為 Year, Packages.
- [#14] 使用 geom_col {ggplot2} 繪製"套件數(年)"長條圖, 另可使用 geom_bar {ggplot2} 繪製.
- [#15-18] 設定主標題, x軸標題, y軸標題. theme {ggplot2} 可設定標題左右置中.
- [#19] 使用 scale_y_continuous {ggplot2}可在繪圖區之右側建立y軸第2座標軸. 右側y軸對應長條圖的刻度. ggplot2 採用資料轉換概念, 因此左側y軸第1座標軸的刻度,對應至累計套件數, 其中最大值約11405, 右側最大值約4502, 11405/4502=2.5, 考慮以2倍計算, 即將左側刻度除以2, 轉換為右側刻度, 一般使用 trans = ~. /2 表示.
- [#21] 使用 annotate {ggplot2} 可加上文字標題.
- [#22-24] 使用 goem_line {ggplot2} 繪製累計套件數線圖.
- [#25-27] 使用 goem_point {ggplot2} 繪製累計套件數點圖.
#16 可改成以下內容, 使得結束日期由系統自動取得:
回覆刪除xlab(paste0("年 (2005-01 ~ ", format(Sys.Date(), "%Y-%m"), ")")) +
更新 ggplot2 的R程式碼, xlab 改為自動擷取系統日期, 更新結果參考GitHub.
回覆刪除