我正在显示时间序列数据,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)
Run Code Online (Sandbox Code Playgroud)
我用:
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
Run Code Online (Sandbox Code Playgroud)
这会产生以下图表:

但根据我的理解,电网应该在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()
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
2248 次 |
| 最近记录: |