gpt4 book ai didi

r - ggplot2 中的日期刻度显示错误的标签

转载 作者:行者123 更新时间:2023-12-04 09:12:16 25 4
gpt4 key购买 nike

我正在使用 ggplot2 显示时间序列数据但是刻度标签显示出一些奇怪的行为。可能我做错了什么,但我在互联网上找不到任何帮助。这是一个例子:

#just sample data
time <- as.Date(seq(as.Date("2004/1/1"), as.Date("2009/12/1"), by = "1 month"))
data <- rnorm(nrow(test))+c(1:nrow(test))
test <- data.frame(time, data)

我与:
q1 <- ggplot(data=test) + geom_line(aes(x=time, y=data))
q1 <- q1 + scale_x_date(major="years", minor="3 months", format="%Y-%m", lim=c(as.Date("2004/1/1"),as.Date("2009/12/1")), name="")
q1

这会产生以下图表:
example graph

但根据我的理解,网格应该在 2009/12/1 结束 - 对吗?非常感谢你的帮助!

最佳答案

limits scale_x_date 的参数影响绘制哪些数据点,但不会直接更改轴刻度标签和轴范围。这种行为在帮助页面 http://had.co.nz/ggplot2/scale_date.html 中有很好的说明。 (朝向页面底部。)

如果要消除数据左侧和右侧的空白区域,请使用 coord_cartesian

library(ggplot2)

x <- as.Date(seq(as.Date("2004/1/1"), as.Date("2009/12/1"), by = "1 month"))
y <- rnorm(length(x))+c(1:length(x))
test <- data.frame(time=x, data=y)

q2 <- ggplot(data=test) +
geom_line(aes(x=time, y=data)) +
scale_x_date(major="years", minor="3 months", format="%Y-%m", name="") +
coord_cartesian(xlim=c(as.Date("2004/1/1"),as.Date("2009/12/1")))

png("date_ticks_plot.png", height=600, width=600)
print(q2)
dev.off()

enter image description here

关于r - ggplot2 中的日期刻度显示错误的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8522686/

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