在绘图中使用范围滑块时如何指定特定轨迹?

How can i designate specific trace when using range slider in plotly?

我知道首先用 make_subplot 制作图形对象是常见的方法, 用 add_trace 填充它,最后用 'update_layout' 制作范围滑块。

例如。

fig = make_subplot(rows=2, cols=1...)
fig.add_trace(go.CandleStick(...))  -----------------------------------------(first trace)
fig.add_trace(go.CandleStick(...))  -----------------------------------------(second trace)

fig.update_layout(xaxis==dict(rangeslider=dict(visible=True)))

此范围滑块通常应用于整个图形(所有第一条迹线和第二条迹线) 但是,我想知道如何将 rangeslider 分别应用于每个轨迹

我不能在 plotly 文档中使用这种方式..

下面显示了不同子图中的多个烛台。我建议最后使用 rangeslider,这样定位就可以了

import pandas as pd
import yfinance as yf
import datetime as dt
import plotly.graph_objects as go
from plotly.subplots import make_subplots

# Initial data & get dataframe
start = dt.date(2022, 3, 1)
end = dt.date(2022, 3, 7)

fig = make_subplots(
    rows=2,
    cols=1,
)

for i, ticker in enumerate(["MSFT", "AAPL"]):
    df = yf.download(ticker, start, end, progress=False, interval="1h")

    fig.add_trace(
        go.Candlestick(
            x=df.index,
            open=df["Open"],
            high=df["High"],
            low=df["Low"],
            close=df["Close"],
            name=ticker
        ),
        row=i + 1,
        col=1,
    )

fig.update_xaxes(
    rangebreaks=[
        dict(bounds=[16, 9.5], pattern="hour"),  # hide hours from 4pm to 9:30am
    ]
)
fig.update_layout(xaxis={"rangeslider":{"visible":False}})