ggplot2 - x轴上按年度划分的线图

时间:2014-11-07 08:36:40

标签: r plot ggplot2 time-series rstudio

我正在尝试使用ggplot2进行以下操作。我正在寻找折线图,但正在寻找问题。我有两个相关的问题。

1。)

 df = read.table(text = "bank  filer    id  quarter year    loan    assets
 year qtr yearqtr code assets
 2001 1   2001-1    51       39007.16
 2001 2   2001-2    51       83337.32
 2001 3   2001-3    51      133618.83
 2001 4   2001-4    51      211263.55
 2002 1   2002-1    51       68034.41
 2002 3   2002-2    51      134005.24
 2002 3   2002-3    51      203544.39
 2002 4   2002-4    51      274482.43
 2003 1   2003-1    51       63188.83"
, sep ="", header = TRUE)

首先,我希望通过连接形成的yearqtr - yearqtr来绘制资产

  year and qtr.

要按季度绘制,我有以下代码:

 myplot <- ggplot(data = df, aes(x=yearqtr, y=assets))  + geom_line()

 myplot <- myplot + theme(panel.grid.major = element_blank(), panel.grid.minor =         element_blank(),  panel.background = element_blank(), axis.line = element_line(colour = "black"))

但是我得到了

 geom_path: Each group consist of only one observation. Do you need to adjust the group aesthetic?

我想知道是不是因为yearqtr不是数字?会是什么问题?

我的问题2.)我们如何展示如何绘制资产的季度值,然后在x轴上显示2000,2001,2002,...这是因为我有2001年-1,2001-2,...,2014-1。 x轴看起来非常拥挤,所以我试图看看是否可以显示像

这样的东西

2000 2001 2003然后将四分之一值显示在它们之间。

非常感谢你。感谢任何建议。

1 个答案:

答案 0 :(得分:1)

这是你正在寻找的吗?

myplot <- ggplot(data = df, aes(x=yearqtr, y=assets, group=1)) +
  geom_line()
myplot <- myplot + 
  theme(panel.grid.major = element_blank(), 
        panel.grid.minor = element_blank(), 
        panel.background = element_blank(), 
        axis.line = element_line(colour = "black")) +
  scale_y_continuous(labels = comma) +
  theme(axis.text.x=element_text(angle=-45, hjust=0.001))
myplot

enter image description here