【发布时间】:2017-02-02 11:00:50
【问题描述】:
这是我的目标输出,z 将提供我的带有 x 轴的图。
z<-c("2014-01", "", "", "2014-04", "", "", "2014-07", "", "","2014-10", "", "", "2015-01")
情节将每月生成一次,我的目标是自动创建轴。 2015-01 是我最后一个可用的数据点,该图将显示从 2014-01 开始的 1 年跨度。下一次更新会让我想将情节设置为 2015-02 到 2014-02。
可以看出,轴的标签以 3 个月的步长返回,中间的刻度为空。
我可以通过只提供最新的标签 2015-02 来自动化这个过程,而其余的会被 R 以某种方式扣除吗?
我在想也许将我的起点 2015-01 转换为日期格式并将其排序回 2014-01。然后再次使其成为一个字符并将其用作轴...
myz <- as.Date(c("2014-01", "2015-01"), "%Y - %m")
但是 myz 是空的。而且空勾的问题还远未解决。
有什么建议吗?
【问题讨论】:
-
您可能想查看
ggplot2,它的scale_x_date参数采用date_breaks参数。例如,此参数可以设置为“3 个月”。 -
as.Date需要一天,所以粘贴一个..rng <- as.Date(paste(c("2014-01", "2015-01"), "-01"), "%Y - %m -%d"),您可以使用seq和format...format(seq(rng[1], rng[2], "3 months"), "%Y-%m") -
@user20650 - 如果不是显示日期字符串之间的空刻度,这将起作用。有没有办法将
format(seq(rng[1], rng[2], "3 months"), "%Y-%m")定义为在输出的每个日期之间显示“”、“”?就像format(seq(rng[1], "", "" rng[2], "3 months"), "%Y-%m")@Haboryme:我会调查它。不确定我是否可以将我的情节转换为 ggplots 语法...