使用ggplot绘制数据框

时间:2016-09-20 11:18:31

标签: r plot ggplot2

我有一个数据框,包含以下数据: data1 $ YEAR data1 $ WEEK data1 $ TOTAL.PATIENTS

1         2009          1               579428
9         2009          2               565631
17        2009          3               582932
25        2009          4               611176
33        2009          5               638613
41        2009          6               648304
49        2009          7               624583
57        2009          8               659573
65        2009          9               623389
73        2009         10               637672
81        2009         11               605503
89        2009         12               608342
97        2009         13               586651
105       2009         14               564460
113       2009         15               558837
121       2009         16               577836
129       2009         17               624734
137       2009         18               598189
145       2009         19               550300
153       2009         20               544432
161       2009         21               531526
169       2009         22               538177
177       2009         23               493761
185       2009         24               521701
193       2009         25               512268
201       2009         26               475877
209       2009         27               480680
217       2009         28               502466
225       2009         29               503971
233       2009         30               485804
241       2009         31               496666
249       2009         32               506019
257       2009         33               544827
265       2009         34               588916
273       2009         35               573972
281       2009         36               571201
289       2009         37               638302
296       2009         38               608464
303       2009         39               606458
311       2009         40               855346
319       2009         41               853912
327       2009         42               906536
335       2009         43               898860
343       2009         44               899425
351       2009         45               864348
359       2009         46               853552
367       2009         47               654101
375       2009         48               814550
383       2009         49               781811
391       2009         50               728401
399       2009         51               536961
407       2009         52               583299
2         2010          1               721138

...

第二列是2009年至2015年 第三列是一年中的一周

我想绘制这个数据框。在这个图的x轴上,我希望分别看到每年的几周。

this这样的东西。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

进行此项工作还是需要将X轴重新标记为仅年份(在下图中x轴为年 - 周)?

    head(df)
  Year Week TOTAL.PATIENTS
1 2009   11         605503
2 2009   12         608342
3 2009   13         586651
4 2009   14         564460
5 2009   15         558837
6 2009   16         577836

df$Year_Week <- paste(df$Year, sprintf('%02d', df$Week), sep='-')
df$Year <- as.factor(df$Year)
library(scales)
ggplot(df, aes(Year_Week,TOTAL.PATIENTS,col=Year, group=Year)) + 
           geom_line(lwd=2) + scale_y_continuous(labels = comma) + 
           xlab('Year-Week') +
           theme(axis.text.x = element_text(angle=90, vjust = 0.5))

enter image description here