绘制 tsibble 时如何获得更详细的 x 轴?
How to get a more detailed x-axis when plotting a tsibble?
我目前正在关注 预测:原则与实践,第 3 版,可以免费获得 online。要重现我的问题,您需要安装并加载包 fpp3
。然后,您需要在 R(或 RStudio)中执行以下操作:
PBS %>%
filter(ATC2 == "A10") %>%
select(Month, Concession, Type, Cost) %>%
summarise(TotalC = sum(Cost)) %>%
mutate(Cost = TotalC / 1e6) -> a10
定义 a10
后,需要绘制 tsibble
,如下所示:
autoplot(a10, Cost) +
labs(y = "$ (millions)",
title = "Australian antidiabetic drug sales")
然后你应该得到这样的情节:
大部分情况下没问题,但我希望 x 轴上的刻度数至少是原来的两倍,如果它们可以旋转 45° 左右,则可能更多。我尝试了一些看起来很有希望的东西,将 scale_x_date(date_labels = "%m-%Y")
添加到 plot 对象,但这只适用于 class Date
的对象,这里我们正在处理 yearmonth
s。在这种情况下如何获得更详细的 x 轴?
一种方法是将 Month
的 class 更改为 class 日期并应用 scale_x_date()
:
a10 %>%
mutate(Month = as.Date(Month)) %>%
ggplot(aes(x=Month, y=Cost)) +
geom_line() +
scale_x_date(date_breaks = "1 year")
您可以使用 scale_x_yearmonth()
更改 yearmonth()
的 x 轴刻度。这也适用于其他日期类型,例如 yearquarter()
和 yearweek()
.
library(fpp3)
PBS %>%
filter(ATC2 == "A10") %>%
select(Month, Concession, Type, Cost) %>%
summarise(TotalC = sum(Cost)) %>%
mutate(Cost = TotalC / 1e6) -> a10
autoplot(a10, Cost) +
labs(y = "$ (millions)",
title = "Australian antidiabetic drug sales") +
scale_x_yearmonth(date_breaks = "1 year", date_labels = "%Y")
由 reprex package (v2.0.1)
于 2021-10-07 创建
我目前正在关注 预测:原则与实践,第 3 版,可以免费获得 online。要重现我的问题,您需要安装并加载包 fpp3
。然后,您需要在 R(或 RStudio)中执行以下操作:
PBS %>%
filter(ATC2 == "A10") %>%
select(Month, Concession, Type, Cost) %>%
summarise(TotalC = sum(Cost)) %>%
mutate(Cost = TotalC / 1e6) -> a10
定义 a10
后,需要绘制 tsibble
,如下所示:
autoplot(a10, Cost) +
labs(y = "$ (millions)",
title = "Australian antidiabetic drug sales")
然后你应该得到这样的情节:
大部分情况下没问题,但我希望 x 轴上的刻度数至少是原来的两倍,如果它们可以旋转 45° 左右,则可能更多。我尝试了一些看起来很有希望的东西,将 scale_x_date(date_labels = "%m-%Y")
添加到 plot 对象,但这只适用于 class Date
的对象,这里我们正在处理 yearmonth
s。在这种情况下如何获得更详细的 x 轴?
一种方法是将 Month
的 class 更改为 class 日期并应用 scale_x_date()
:
a10 %>%
mutate(Month = as.Date(Month)) %>%
ggplot(aes(x=Month, y=Cost)) +
geom_line() +
scale_x_date(date_breaks = "1 year")
您可以使用 scale_x_yearmonth()
更改 yearmonth()
的 x 轴刻度。这也适用于其他日期类型,例如 yearquarter()
和 yearweek()
.
library(fpp3)
PBS %>%
filter(ATC2 == "A10") %>%
select(Month, Concession, Type, Cost) %>%
summarise(TotalC = sum(Cost)) %>%
mutate(Cost = TotalC / 1e6) -> a10
autoplot(a10, Cost) +
labs(y = "$ (millions)",
title = "Australian antidiabetic drug sales") +
scale_x_yearmonth(date_breaks = "1 year", date_labels = "%Y")
由 reprex package (v2.0.1)
于 2021-10-07 创建