我正在使用ggplot2库的条形图,在x轴上有大量数据(在我的例子中是日期),会出现额外的空白值刻度在轴的两端,请问是否有办法去除这些?以下是可重现的代码和图片。
library(ggplot2)
a <- runif(28, 2.0, 7.5)
b <- seq(as.Date("1910/1/1"), as.Date("1910/1/28"), "days")
ds = data.frame(a, b)
p <-
ggplot(data=ds, aes(b, a), environment = environment()) +
theme(panel.grid.major.x = element_blank(), panel.grid.minor = element_blank(),
panel.grid.major.y = element_line(color="grey"),
panel.background = element_blank(), panel.border = element_rect(fill= NA, colour = "grey")) +
geom_bar(width=.4,stat="identity") +
xlab(" ") + ylab(" ") +
theme(text = element_text(size=20), axis.text.x = element_text(angle=90), axis.text = element_text(color="black"),
legend.key = element_rect(fill="white")) +
scale_x_date(breaks = date_breaks("1 day"), labels = date_format("%d.%B %y"))
print(p)
scale_x_date
中添加limits = range(ds$b) + c(1, -1)
。 - lukeAscale_x_date
中的expand
参数有关。将expand
常数相对较小会在边缘留下较少的空间,因此没有足够的空间来放置这些额外的轴断点。您可以尝试一下; 在这种情况下,expand = c(.01,.01)
似乎看起来不错。 - aosmith