【问题标题】:How to plot time Data如何绘制时间数据
【发布时间】:2019-07-31 22:21:23
【问题描述】:

我的数据结构是这样的:

现在我想选择 3 个城市并随时间绘制它们(x=日期,y=金额)。此外,我希望每 3 个月在 x 轴上显示月份。

我试过 ggplot,但我的日期似乎没有正确定义。

【问题讨论】:

    标签: r date ggplot2 plot time


    【解决方案1】:

    制作数据框:

    > city <- c('Berlin', 'Munchen', 'Koln', 'Hamburg', 'Dusseldorf', 'Frankfurt am Main', 'Leipzig')
    > Date <- c('2015-01', '2015-01', '2015-01', '2015-01', '2015-01', '2015-01', '2015-01')
    > AMount <- c(3740, 1282, 948, 946, 947, 302, 227)
    > df <- data.frame(city, Date, AMount)
    > df
    
                   city    Date AMount
    1            Berlin 2015-01   3740
    2           Munchen 2015-01   1282
    3              Koln 2015-01    948
    4           Hamburg 2015-01    946
    5        Dusseldorf 2015-01    947
    6 Frankfurt am Main 2015-01    302
    7           Leipzig 2015-01    227
    

    日期转换为年和月。

    > library(zoo)
    > df$Date <- as.yearmon(df$Date)
    > df
    
                   city     Date AMount
    1            Berlin Jan 2015   3740
    2           Munchen Jan 2015   1282
    3              Koln Jan 2015    948
    4           Hamburg Jan 2015    946
    5        Dusseldorf Jan 2015    947
    6 Frankfurt am Main Jan 2015    302
    7           Leipzig Jan 2015    227
    

    用 ggplot 绘图

    > library(ggplot2)
    > ggplot(df[1:3,], aes(x=as.Date(Date),y=AMount)) + geom_line() + scale_x_date(date_labels="%b %y")
    

    %b = 缩写月份名称,例如 Jan 表示 January

    【讨论】:

      猜你喜欢
      • 2017-12-11
      • 1970-01-01
      • 1970-01-01
      • 2011-07-07
      • 2021-10-06
      • 1970-01-01
      • 1970-01-01
      • 2014-10-11
      • 2014-03-02
      相关资源
      最近更新 更多