【问题标题】:ggplotly() does not put date on x-axisggplotly() 不在 x 轴上放置日期
【发布时间】:2020-04-02 19:02:30
【问题描述】:

我有一个需要交互的绘图,所以我尝试使用ggplotly() 函数来绘制它。但是,x 轴的值从 18k(自 1970-01-01 以来的天数)而不是日期开始。我不能使用普通的plotly() 函数,因为绘图过于复杂,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)

【问题讨论】:

  • 您可以添加和添加图层scale_x_date(date_labels = "%Y/%m/%d")或您想要的任何日期格式p

标签: r ggplot2 plotly ggplotly


【解决方案1】:

使用缩放函数

您可以在绘图中添加 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) 

这是输出:

希望这会有所帮助。

【讨论】:

  • 值得补充的是,这不适用于旧版本的 plotly 包。
  • 弹出窗口中的 x 值仍然不起作用。它显示的是数字而不是日期。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-08
相关资源
最近更新 更多