簡體   English   中英

在 R 中的 plot_ly (plotly) 中獲取 ylim

[英]get ylim in plot_ly (plotly) in R

我在谷歌搜索時沒有找到以下問題的答案:

問題:如何找到由plot_ly創建的元素的軸限制(它必須隱藏在那里、某處或?)?

背景:我正在使用 plot_ly 創建許多不同的時間線,並且我還定期使用新數據更新它們。
fig <- plot_ly(....)

現在我想將圖中的幾個里程碑標記為垂直線。 到目前為止,我還沒有找到如何在 plot_ly 中“abline” - 沒有給出最大 x 值的數字。

由於我經常更新,圖中的最大值可能會隨新數據而變化。 出於多種原因,我想避免在圖中的所有幾個不同時間線上運行max

非常感謝!

代碼示例:

fig <- plot_ly(df_timeseries, x = ~date)

fig <- fig %>% add_trace(y = ~count_mice, name = "Counts of mice",
                     mode = 'lines+markers' )

fig <- fig %>% add_trace(y = ~count_cats, name = "Counts of cats",
                     mode = 'lines+markers' )

fig <- fig %>% layout(title = "<b>Count of specimen</b>",
      yaxis = list (title = "count"),
      xaxis = list (title = "date"))

# and here is the problem. I want to add a vertical line, without having to specify y1
fig.update_layout(shapes=[
dict(
  type= 'line',
  yref= 'paper', y0= 0, y1= 100,
  xref= 'x', x0= as.Date("2020-08-04"), x1= as.Date("2020-08-04")
)

fig

我找到了解決方案:

請注意我們如何在數據坐標中對這些線的范圍進行硬編碼; 因此,在縮放和平移繪圖時,該線將在這些值處被“剪裁”。 如果您不想剪裁這些線條,請使用外部參照/yref 設置為紙的線條形狀(這會將圖形區域置於 0-1 比例,而不是 x/y 數據比例)

來源: 情節中的水平/垂直線

這樣我就不需要找到最大值,我可以簡單地畫一條線,它會自動適應繪圖限制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM