【问题标题】:How to add a dash vertical line in r plotly with time series plot如何使用时间序列图在 r plotly 中添加虚线垂直线
【发布时间】:2021-04-25 10:17:42
【问题描述】:

我有一个如下所示的时间序列:

+------------+-------+------+
| Dates      | Sales | City |
+------------+-------+------+
| 2020-01-01 | 10    | A    |
+------------+-------+------+
| 2020-01-02 | 20    | A    |
+------------+-------+------+
| 2020-01-03 | 30    | A    |
+------------+-------+------+
| 2020-01-04 | 40    | A    |
+------------+-------+------+
| 2020-01-05 | 50    | A    |
+------------+-------+------+
| 2020-01-01 | 60    | B    |
+------------+-------+------+
| 2020-01-02 | 70    | B    |
+------------+-------+------+
| 2020-01-03 | 50    | B    |
+------------+-------+------+
| 2020-01-04 | 30    | B    |
+------------+-------+------+
| 2020-01-05 | 60    | B    |
+------------+-------+------+

我想用 plotly 将这两个时间序列绘制在一起,不同的城市用不同的颜色。然后在日期 2020-01-03 添加一条垂直虚线(ofc 这只是一个简单的伪数据集)

它看起来像这样:

我停在这里:

plotly(x = ~df$Dates) %>%
 add_lines( y = ~df$Sales, color = ~df$City)

如何添加这条锚定到特定日期的垂直虚线

附:这不是一个重复的问题 - 使用 base R 或 ggplot 关于 SO 有一些类似的问题,但没有一个足够接近使用 R 在 Plotly 中解决这个特定问题。

非常感谢您的帮助!

【问题讨论】:

标签: r plotly r-plotly


【解决方案1】:

使用add_segments 的一种方式:

library(plotly)

plot_ly(df, x = ~Dates, y = ~Sales, type = 'scatter', mode = 'lines', color = ~City) %>%
  add_segments(y = 0, yend = 70, x = as.Date('2020-01-03'), xend = as.Date('2020-01-03'), 
               line = list(dash = "dash"), showlegend=FALSE)

【讨论】:

    猜你喜欢
    • 2017-07-13
    • 2021-01-04
    • 2012-06-28
    • 1970-01-01
    • 2021-01-10
    • 1970-01-01
    • 2023-04-08
    • 2022-12-13
    • 1970-01-01
    相关资源
    最近更新 更多