簡體   English   中英

在ggplot中將日期顯示為x軸

[英]Display Date in ggplot as x axis

我的數據格式為

["201301",1111],["201302",1111],["201702",2222],["201603",3333].

但是,當我嘗試將其繪制為條形圖時,由於x值被視為數字,因此它看起來不太好。 幾年之間有很大的差距。 在此處輸入圖片說明

是否可以消除差距?

如果我理解正確,OP將顯示月數據,其中變量V1中的年和月以“ YYYYMM”格式編碼。

我可以通過重現該問題

# create sample data
years <- 2013:2017
DF <- data.frame(V1 = 100 * rep(years, each = 12) + rep(1:12, length(years)),
                 V2 = rep(1:12, length(years)))

library(ggplot2)
ggplot(DF, aes(V1, V2)) +
         geom_col()

在此處輸入圖片說明

要繪制這些月度數據,需要將V1轉換為完整的日期,例如201304變為日期2013-04-01 因此,每個年月都映射到該月的第一天。

借助lubridate包裝,我們得到

ggplot(DF, aes(lubridate::ymd(V1, truncated = 1L), V2)) +
  geom_col()

在此處輸入圖片說明

ggplot()認識到x軸現在是Date類,並相應縮放。 使用Date比例尺的好處是即使缺少數據點也可以正確縮放。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM