ggplotly()不会在x轴上放置日期

4

我有一个需要交互的绘图,所以我尝试使用ggplotly()函数来绘制它。然而,x轴上的值从18k(1970-01-01以来的天数)开始,而不是日期。我不能使用普通的plotly()函数,因为绘图太复杂了,其中包含不同的geoms,这些geoms受到ggplotly()支持,但不受plotly()支持。如何在x轴上获得日期?

library(ggplot2)
library(plotly)

data <- data.frame(x = runif(10) + 1:10,
                   date = seq.Date(as.Date("2019-07-01"),
                                   as.Date("2020-04-01"),
                                   by = "months"))

p <- ggplot(data, aes(x = date, y = x)) +
      geom_line()

ggplotly(p)

你可以在图表 p 上添加一个额外的层 scale_x_date(date_labels = "%Y/%m/%d"),或者使用任何你想要的日期格式。 - paqmo
1个回答

3

使用缩放函数

您可以像下面这样向绘图添加x缩放函数:

library(ggplot2)
library(plotly)
data <- data.frame(x = runif(10) + 1:10,
                   date = seq.Date(as.Date("2019-07-01"),
                                   as.Date("2020-04-01"),
                                   by = "months"))

p <- ggplot(data, aes(x = date, y = x)) +
  geom_line() +
  scale_x_date(date_labels = "%Y/%m/%d")
ggplotly(p) 

这是输出结果: enter image description here 希望这有所帮助。

2
值得一提的是,这对于旧版本的“plotly”软件包不起作用。 - mihagazvoda
1
弹出窗口上的x值仍然无法正常工作。它显示的是一个数字而不是日期。 - skan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接