使用POSIXct / datetime值(geom_histogram)在ggplot直方图中设置“ binwidth”

时间:2018-11-04 18:47:14

标签: r ggplot2 histogram

在尝试通过POSIXct / datetime值运行时,binwithgeom_histogram()的行为。在the documentation中,它表示binwith指定了箱的宽度,其中可以指定为数值,而箱日期变量的宽度是每次的天数。因此,我希望以下两个ggplot命令产生相同的输出。

不仅不是这种情况,而且第二条命令大约需要5分钟才能运行

library(ggplot2)

df <- data.frame(day = as.POSIXct("2018-11-01 10:00:00")+(1:10)*3600*24)


ggplot(df,aes(day)) + 
  geom_histogram(bins = 10,colour = "black",fill = "grey")

ggplot(df,aes(day)) + 
  geom_histogram(binwidth = 1,colour = "black",fill = "grey")

reprex package(v0.2.0)于2018-11-04创建。

1 个答案:

答案 0 :(得分:1)

我曾经有过橡皮鸭的经历,发现带有 date the documentation的特意是Date类的向量。 binwidth在类POSIXct上的行为在后续语句中描述:时间变量的bin宽度是的数量。

简而言之,解决方案是将binwidth乘以3600*24以获得天数而不是秒数。

ggplot(df,aes(day)) + 
  geom_histogram(binwidth = 1*3600*24,colour = "black",fill = "grey")