【发布时间】:2018-12-11 21:46:06
【问题描述】:
我正在用 ggplot 绘制每周订单量的图表。我只获取每日数据并将其汇总如下:
subRC$week <- ISOweek(ymd(subRC$L01.Order.Date))
aggRC <- aggregate(subRC$Cases.Sold, by= list(subRC$week), sum)
L01.Order.Date 的格式为 MM-DD-YYYY。 这对我来说非常有效,我的数据看起来像这样(在这里生成随机值,但这不会改变任何东西):
Group.1 x
2016-W01 15444
2016-W02 134900
2016-W03 2639
2016-W04 13055
2016-W05 18012
2016-W06 138764
2016-W07 73204
2016-W08 111646
2016-W09 33872
2016-W10 35456
2016-W11 106070
2016-W12 37843
2016-W13 66861
2016-W14 46273
2016-W15 19049
2016-W16 62065
2016-W17 52882
2016-W18 67134
2016-W19 60766
2016-W20 89763
2016-W21 80680
2016-W22 101619
2016-W23 120757
2016-W24 91560
2016-W25 123721
2016-W26 23647
2016-W27 67131
2016-W28 44775
2016-W29 123575
2016-W30 130845
2016-W31 114168
2016-W32 84923
2016-W33 123661
2016-W34 66065
2016-W35 80636
2016-W36 146880
2016-W37 50515
2016-W38 75468
2016-W39 145391
2016-W40 5586
2016-W41 16922
2016-W42 67943
2016-W43 140725
2016-W44 96454
2016-W45 47013
2016-W46 47276
2016-W47 54241
2016-W48 46889
2016-W49 116884
2016-W50 70194
2016-W51 141270
2016-W52 60754
2017-W01 5214
2017-W02 65803
2017-W03 48864
2017-W04 41300
2017-W05 65923
2017-W06 67856
2017-W07 104272
2017-W08 138575
2017-W09 97664
2017-W10 62303
2017-W11 78402
2017-W12 78170
2017-W13 27001
2017-W14 38086
2017-W15 87113
现在,我想生成一个图,我希望轴刻度显示第一个、中间和结束日期。对于此处的示例,它将是:2016-W01、2016-W34 和 2017-W15。在我的分析过程中日期会发生变化,所以我希望它适应我正在使用的数据集。到目前为止,这是我尝试过的:
ggplot() +
geom_line(data = aggRC, aes(Group.1, x, group=1, color = "Retail Chubs"))+
scale_x_discrete(labels = c(min(aggRC$Group.1), median(aggRC$Group.1),
max(aggRC$Group.1)))
但这甚至没有做任何事情,我猜是因为 Group.1 是字符而不是数字。 我也尝试过使用 scale_x_date,但这不起作用,因为我的日期值是字符。
也许我需要使用不同的方式来汇总订单?如果您需要我对我的问题添加任何内容,请告诉我。希望对此有任何意见,并且已经感谢您的帮助。已经看过类似的问题,但没有什么能真正帮助我解决这个问题。
【问题讨论】:
-
确实,您汇总数据的方式似乎阻碍了您使用 ggplot 的进展。也许看看stackoverflow.com/questions/40554231/…