我的数据结构如下:
现在,我想选择3个城市,并将它们绘制成一段时间(x =日期,y =金额)。此外,我希望每3个月在x轴上显示一次。
我尝试了ggplot,但似乎我的日期定义不正确。
答案 0 :(得分:2)
制作数据框:
> 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 =缩写的月份名称,例如一月
的一月