将ggplot2中的每月时间轴调整为四分之一?

时间:2018-02-17 13:54:43

标签: r ggplot2

我收到了以下数据框:

          MONTH MINTEREST REGION    id
 <S3: yearmon>     <dbl>  <chr> <int>
1      Aug 2010    0.0443     NC     1
2      Sep 2010    0.0432     NC     2
3      Okt 2010    0.0422     NC     3
4      Nov 2010    0.0433     NC     4
5      Dez 2010    0.0475     NC     5
6      Jan 2011    0.0480     NC     6

我使用以下ggplot2代码绘制框架:

ggplot(MINTEREST30, aes(x=MONTH, y=MINTEREST, group=REGION)) +
  geom_line(aes(color=REGION),size=1)+
  theme_bw()+
  theme(legend.position = c(0.8, 0.8)) +
  scale_color_manual(values = c("#86BC25","#0076A8","#BBBCBC","#E3E48D","#A0DCFF"))+
  scale_y_continuous(labels = scales::percent)+
  xlab("Months")+
  ylab("Mortgage Rate")

不幸的是,我收到错误:

  

不知道如何自动选择yearmon类型的对象的比例。   默认为连续。

enter image description here

正如您在上面提供的图形中看到的那样,ggplot会自动将x轴设置为年份。由于我没有任何起点,因为我的数据始于2010年8月。

我的问题是:是否有可能将轴调整到几分之一甚至几个月?

2 个答案:

答案 0 :(得分:0)

jazzurro让你走上了正确的道路。我尝试类似的事情:

scale_x_date(date_breaks = "3 months", date_labels = "%b-%y")

答案 1 :(得分:0)

如果p是问题中ggplot语句的值,请尝试以下方法之一:

p + scale_x_yearmon(format = "'%y/%m", n = 10)

p + scale_x_yearqtr(format = "%yQ%q", n = 10)

根据看起来不错的内容修改甚至省略格式和n。根据问题中显示的数据,上述选择似乎没问题。可能任何足够大的数字都可以用于n。有关详细信息,请参阅?scale_x_yearmon