如何在R中的同一图表中将不同的月份绘制为不同的系列

时间:2016-06-30 02:13:40

标签: r graph ggplot2 levels

我有以下数据集

head(Data)
    Fecha PriceStats
1 01-2002    45.2071
2 02-2002    46.6268
3 03-2002    48.4712
4 04-2002    53.5067
5 05-2002    55.6527
6 06-2002    57.6684

总共有176个观察结果。

每一行对应不同的月份。

我想在x轴上创建一年中12个月的图表,并且每年的数据集(每个包含12个月)对应于图表中的一个系列,因此我可以绘制所有不同年份的图表重叠(在这些情况下是15系列)。

我是否必须在数据集上设置级别,否则ggplot可以直接执行此操作?

1 个答案:

答案 0 :(得分:1)

这应该这样做:

library(ggplot2)
library(lubridate)

Data <- data.frame(date = seq(ymd('2014/01/01'), ymd('2016/12/01'), 30), 
                       n = sample(1:50, 36))

Data$month <- month(Data$date)
Data$year <- year(Data$date)

ggplot(Data, aes(x = month, y = n, group = year)) + 
  geom_line(aes(colour = as.factor(year)))