1
dput(df)
structure(list(Month = structure(c(15248, 15522), class = "Date"), 
    Value = c(1, 3)), .Names = c("Month", "Value"), row.names = 1:2, class = "data.frame")

ggplot(df, aes(Month, Value)) + 
  geom_bar(fill = "orange", size = .3, stat = "identity", position = "identity") +
  geom_smooth(data = df, aes(Month, Value, group = 1), method = "lm", 
              size = 2, color = "red") + 
  scale_x_date(breaks = "1 month", labels = date_format("%b-%Y"), 
               limits = as.Date(c('2011-01-01','2013-01-01')))

ggplot 中的条形图也超过了其他日期。我确实收到此警告消息:

Warning message:
In qt((1 - level)/2, df) : NaNs produced

有没有办法将垃圾箱放置到所属日期,而不是交叉到其他日期?

4

1 回答 1

2

简化了绘图代码。无需在每个几何图形中写入数据框名称、x 和 y 值。

要更改条形宽度,可以使用参数width=in 。geom_bar()

ggplot(df, aes(Month, Value)) + 
  geom_bar(fill="orange",stat="identity",width=15)+
  geom_smooth( method="lm", size=2, color="red")+
  scale_x_date(breaks = "1 month", labels=date_format("%b-%Y"), limits = as.Date(c('2011-01-01','2013-01-01')))

您会收到错误消息,因为您的数据框仅包含两个值(您不能只使用两个值进行回归)。如果确实只有两个值,则替换

geom_smooth( method="lm", size=2, color="red")

geom_line(size=2, color="red")
于 2013-01-04T19:37:31.730 回答