这是一个包含日期和一些随机数据的数据框。
library(tidyverse)
dat <- tibble(
date = as.Date(40100:40129, origin = "1899-12-30"),
rainfall = rnorm(30, 4)
)
在绘制数据时,图形上不包含第30个值。执行代码后,请注意在日期2009-11-12上方没有任何限制。如何使该第30条出现在我的绘图上?我要做必须保持如下所示的限制,原因超出了本文的范围。我也希望控制台中出现警告,指出已从图中删除了数据,不确定为什么我没有得到。
ggplot(dat, aes(date, rainfall)) +
geom_bar(stat = "identity", fill = "white", color = "grey35") +
theme_minimal() +
theme(axis.title.x = element_blank(), axis.text.x = element_text(angle=90)) +
scale_x_date(
date_breaks = "1 day",
limits = c(min(dat$date), max(dat$date))
) +
NULL
答案 0 :(得分:3)
以我的经验,指定轴限制的最安全方法是使用coord_cartesian
(和等于)
ggplot(dat, aes(date, rainfall)) +
geom_bar(stat = "identity", fill = "white", color = "grey35") +
theme(axis.title.x = element_blank(), axis.text.x = element_text(angle=90)) +
scale_x_date(date_breaks = '1 day') +
coord_cartesian(xlim = c(min(dat$date), max(dat$date)))