在x轴上绘制低于月份的年份

时间:2018-06-05 10:48:46

标签: r ggplot2

我没有寻求编码帮助,只是帮助我应该采取什么方向,即使用哪些功能。我想知道是否可以使用ggplot来绘制类似的东西:

enter image description here

1 个答案:

答案 0 :(得分:7)

1)一种简单的方法是将年份放在每年的1月份(或者使用6月,例如,如果您希望以年为中心 - 即在下面的代码中将1替换为6)。另一种方法是使用%Y代替%b\n%Y,将1月替换为年份。

首先介绍一些测试数据 - 这通常应该在问题中完成,但这次我提供了一些。测试数据框x的{​​{1}}列属于d类,"yearmon"为数字。我假设问题中X轴上的数字是用来表示几个月,但是如果它们打算用季度,那么从y类开始,然后使用"yearqtr"进行相应的调整。

scale_x_yearqtr

2)或者如果你开始使用动物园对象library(ggplot2) library(zoo) d <- data.frame(x = as.yearmon("2000-1") + 0:23/12, y = 1:24) # test data x <- d$x autoplot(d) ggplot(d, aes(x, y)) + geom_line() + geom_point() + scale_x_yearmon(breaks = x, lab = format(x, ifelse(cycle(x) == 1, "%b\n%Y", "%b")))

z

screenshot