【发布时间】:2019-07-31 22:21:23
【问题描述】:
我的数据结构是这样的:
现在我想选择 3 个城市并随时间绘制它们(x=日期,y=金额)。此外,我希望每 3 个月在 x 轴上显示月份。
我试过 ggplot,但我的日期似乎没有正确定义。
【问题讨论】:
我的数据结构是这样的:
现在我想选择 3 个城市并随时间绘制它们(x=日期,y=金额)。此外,我希望每 3 个月在 x 轴上显示月份。
我试过 ggplot,但我的日期似乎没有正确定义。
【问题讨论】:
制作数据框:
> 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
【讨论】: