使用日期时ggplotly和geom_bar - 最新版本的情节(4.7.0)

时间:2017-07-05 16:36:54

标签: r ggplot2 plotly

假设你有以下df:

x <- as.Date(c("1963-06-01", "1964-06-01", "1965-06-01","1966-06-01"))
y <- c(1162.7, 975.4, 1280.3, 1380.0)
data<- data.frame(x, y)

当你使用ggplot绘图时,一切似乎都有效:

ggplot(data = data, aes(x = x, y = y)) +
      geom_bar(stat = "identity")

ggplot works

但是,如果我们添加一个ggplotly环绕它,图表就会消失。

ggplotly(ggplot(data = data, aes(x = x, y = y)) +
      geom_bar(stat = "identity"))

ggplotly doesn't work

我收到一条警告信息:

  

我们建议您使用ggplot2的开发版本   ggplotly()

现在,如果我删除日期格式,gglotly确实有效。

x <- c("1963-06-01", "1964-06-01", "1965-06-01","1966-06-01")
y <- c(1162.7, 975.4, 1280.3, 1380.0)
data<- data.frame(x, y)

ggplotly(ggplot(data=data) + 
  geom_bar(aes(x = x, y = y), stat = "identity"))

因此,ggplotly处理带日期的geom_bar似乎存在问题。有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

这似乎是Mac中的一个问题,似乎与geom_bar处理日期的方式有关。

我发现添加as.POSIXct()可以解决问题。

x <- c("1963-06-01", "1964-06-01", "1965-06-01","1966-06-01")
y <- c(1162.7, 975.4, 1280.3, 1380.0)
data<- data.frame(x, y)

ggplotly(ggplot(data=data) + 
  geom_bar(aes(x = as.POSIXct(x), y = y), stat = "identity"))