R:创建时间日y变量的ggplot2条形图

时间:2015-08-16 13:49:52

标签: r ggplot2

我在尝试在y轴上创建一个非常简单的时间变量ggplot条形图时遇到了很多麻烦。它使用geom_pointgeom_line绘制得很好,但只要我用geom_bar替换它们,R就会崩溃或返回一个空白的灰色图表。

我的原始数据是以下格式的字符串:

day       time
1/1/2015  2:30:14
2/1/2015  15:10:40
3/1/2015  8:50:05

知道ggplot2对时间和日期类有点挑剔,我将变量格式化为POSIXct和Date,如下所示:

library(ggplot2); library(scales)
datetime <- data.frame(date = c("1/1/2015", "2/1/2015", "3/1/2015"), 
                   time = c("2:30:14", "15:10:40", "8:50:05"))
datetime$date <- as.Date(datetime$date, format="%m/%d/%Y")
datetime$time <- as.POSIXct(datetime$time, format="%H:%M:%S")

然后,创建数据的简单散点图可以正常工作:

ggplot(datetime, aes(date, time)) +
    geom_point() +
    xlab("Day") +
    ylab("Time") +
    scale_y_datetime(breaks = date_breaks("1 hour"), 
                     labels = date_format("%H:%M"))

但是,将geom_point()替换为geom_bar(stat="identity")就像我通常会创建一个条形图一样,似乎会导致一个加载过程,有时会导致R:崩溃:

ggplot(datetime, aes(date, time)) +
    geom_bar(stat="identity") +
    xlab("Day") +
    ylab("Time") +
    scale_y_datetime(breaks = date_breaks("1 hour"), 
                     labels = date_format("%H:%M"))

我可能误解了ggplot2的功能,所以有人可以告诉我这里究竟发生了什么吗?

0 个答案:

没有答案