如何简化X轴刻度(年份I季度R)

h5qlskok  于 2023-01-28  发布在  其他
关注(0)|答案(2)|浏览(116)

我是这里的大三学生,15号有一个计量经济学的作业要交;我们必须使用Rmd,但我对这个工具不是很熟悉...所以任何帮助都将不胜感激!我这里的问题是,我想在ggplot上显示比利时多年来GDP的演变。下面是我的数据看起来像什么(你可以看到时间列是用季度组织的[![要使用的数据][1]][1]。我编写了以下代码:

ggplot(data = PIB, aes(x=PIB$Time, y=PIB$Belgium, group=1))  + geom_line() + labs(x="Time", y="Belgian PIB")

这是我的结果
[![ggplot演变图][2]][2]
除了X轴之外,我对图表的外观非常满意。我在许多平台上在线查找,但我一辈子都搞不清楚如何组织时间轴。该列的格式真的让我感到困惑。我希望在线显示4/5的时间戳,这样读者就可以理解从2001年到2021年的演变,以及GDP每个季度都在变化。
我知道这可能是一个愚蠢的问题,但任何帮助将是受欢迎的![1]:https://i.stack.imgur.com/XvYNW.png [2]:https://i.stack.imgur.com/1f1Ll.png

guicsvcw

guicsvcw1#

必须将时间列从字符向量转换为时间。

library(zoo)
PIB$Time = as.yearqtr(PIB$Time,format="%YQ%q")
PIB$Time = as.Date(PIB$Time)

那就试试ggplot。

g2ieeal7

g2ieeal72#

将Time转换为yearqtr类,并与scale_x_yearqtr一起使用。如果默认值不是您想要的,请参见?scale_x_yearqtr以检查其各种参数。
请注意r标签页顶部的信息,特别是针对SO的R问题应该提供文本输入,以便其他人可以将其复制并粘贴到他们的会话中。如果不重新键入图像,则无法轻松使用图像。在没有图像的情况下,我使用了最后的注解中显示的可复制输入。请使用以下任何一种:

library(ggplot2)
library(zoo)

# 1
qplot(as.yearqtr(Time), Belgium, data = PIB, geom = "line", xlab = "") +
  scale_x_yearqtr()

# 2 - will default to scale_x_yearqtr even if not specified
qplot(as.yearqtr(Time), Belgium, data = PIB, geom = "line", xlab = "")

# 3 - convert to zoo series and plot that
Belgium <- read.zoo(PIB, FUN = as.yearqtr)
autoplot(Belgium) + xlab("")

注解

PIB <-
structure(list(Time = c("2001Q1", "2001Q2", "2001Q3", "2001Q4", 
"2002Q1", "2002Q2", "2002Q3", "2002Q4"), Belgium = 1:8), 
class = "data.frame", row.names = c(NA, -8L))

相关问题