我找了一会儿,无法找到一个讨论类似问题的帖子.我遇到了日期缩放的问题ggplot,我认为这与ggplot处理日期的方式有关.我试图摆脱列之间的所有空白区域,因为我的最终结果将类似于以下内容,这是一个容量规划图表,显示跨越几个月的项目:

即使使用默认的缩放和宽度参数,列之间的间隙也显示不一致,这使我相信这ggplot可能是以设定的宽度绘制所有列,而是将它们放在相对于每个月的天数的x轴上.但是,即使在创建"月长度"变量以独立缩放每个列之后,我也无法将所有间隙关闭,而不会导致其他间隙重叠.有人可以提供一些有关ggplot处理日期的见解吗?
以下是一些可重现的代码:
library(lubridate)
library(ggplot2)
library(scales)
Months <- c("2015-01-01", "2015-02-01", "2015-03-01", "2015-04-01", "2015-05-01",
"2015-06-01", "2015-07-01", "2015-08-01", "2015-09-01", "2015-10-01")
Months <- as.Date(Months)
Totals <- c(1330, 1010, 950, 1110, 1020, 1160, 1320, 880, 620, 320)
df <- data.frame(Months, Totals)
df$MonthLength <- days_in_month(as.Date(df$Month))
ggplot()+
geom_bar(data=df, aes (x = Months, y = Totals, fill = Months, width = MonthLength),
position = "dodge", stat = "identity", alpha = 0.80)+
coord_cartesian(ylim = c(0, 1600))+
scale_x_date(breaks="1 month",limits=c(as.Date("2015-01-01"),as.Date("2015-10-01")),
labels = …Run Code Online (Sandbox Code Playgroud)