import pandas as pd
import plotly.graph_objs as go
from plotly.subplots import make_subplots
df = pd.read_csv("https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv")
df.columns = [col.replace("AAPL.", "") for col in df.columns]
fig = make_subplots(1, 2)
fig.add_trace(
go.Scatter(x=list(df.Date), y=list(df.High)), row=1, col=1)
fig.add_trace(
go.Scatter(x=list(df.Date), y=list(df.Low)), row=1, col=2)
fig.update_layout(
xaxis=dict(
rangeselector=dict(
buttons=list([
dict(count=1,
label="1m",
step="month",
stepmode="backward"),
dict(count=6,
label="6m",
step="month",
stepmode="backward"),
dict(count=1,
label="YTD",
step="year",
stepmode="todate"),
dict(count=1,
label="1y",
step="year",
stepmode="backward"),
dict(step="all")
])
),
rangeslider=dict(
visible=True
),
type="date"
)
)
import plotly.offline as pyo
pyo.plot(fig)
我想为这两个图创建一个通用滑块。目前有两个图表,但滑块仅适用于其中之一。是否可以使当前滑块对子图中的所有多个图形通用?
在下面添加一行。
fig.update_xaxes(matches='x')
首先,选择您不希望滑块出现的子图,我们认为它是 row=1 和 col=1 子图
然后添加行
fig.update_xaxes(row=1, col=1, rangeslider_visible=False)
那么两个图表都只有一个滑块