gpt4 book ai didi

r - 如何将 x 轴刻度设置为月末?

转载 作者:行者123 更新时间:2023-12-05 05:22:19 25 4
gpt4 key购买 nike

我正在尝试在 ggplot2 中将 x 轴刻度设置为月末。目前生成的绘图具有对应于本月第一天的刻度。我用来生成比例的代码是

p + scale_x_date(limits = c(as.Date("2006-12-31"), as.Date("2014-09-30")), date_breaks = "6 months", date_labels = "%Y-%m-%d")

我本以为,由于我的限制是月末,所以滴答也是月末。此外,我的数据从 2007-01-02 开始,所以第一个刻度是 2007-02-01。我想将刻度设置为与季度结束一致。

最佳答案

获得您想要的精确轴中断的一种方法是通过向 scale_x_date 中的 breaks 参数提供日期向量来明确指定它们。您没有提供可重现的示例,所以我绘制了一些虚假数据。在下面的代码中,我指定了每个季度末的休息时间。我需要从每个 30 天的月份中减去一天,这样休息时间就会在该季度的最后一天,而不是下一季度的第一天。

# Fake data
dat = data.frame(date=seq(as.Date("2006-12-31"), as.Date("2014-09-30"), by="1 day"))
set.seed(495)
dat$value = cumsum(rnorm(nrow(dat)))

ggplot(dat, aes(date, value)) +
geom_line() +
scale_x_date(limits = c(as.Date("2006-12-31"), as.Date("2014-09-30")),
breaks = seq(as.Date("2006-03-31"), as.Date("2014-12-31"), "quarter") - c(0,1,1,0),
date_labels = "%Y-%m-%d", expand=c(0,30)) +
theme(axis.text.x=element_text(angle=-90, vjust=0.5))

enter image description here

关于r - 如何将 x 轴刻度设置为月末?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40684439/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com