Python Plotly - 从 plotly 子图中删除滑块

问题描述

我正在使用 plotly 创建一个带有多个子图的图形。其中一个数字是带有滑块的 Ohlc/烛台。在单个绘图的情况下,滑块可以通过 fig.update_layout(xaxis_rangeslider_visible=False)

但是,当滑块位于子图中时,这似乎不起作用。知道如何从子图中删除滑块吗?

我有一种感觉,这将涉及: fig.update_traces(Meta=<VALUE>,selector=dict(type='ohlc')) 并在 update_traces 中指定子图行、列,但不太确定如何正确选择元值。

解决方法

我没有很好的例子,所以我可以根据this question中的例子关闭滑块功能。 (这个问题是如何使滑块适用于两个图形。)我将第一个图形更改为 OHLC,将第二个更改为体积。我没有来源或图表,所以这符合您的意图。第二个问题的意图不明确。

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.Ohlc(x=df['Date'],open=df['Open'],high=df['High'],low=df['Low'],close=df['Close']),row=1,col=1)

fig.add_trace(go.Bar(x=df['Date'],y=df['Volume']),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",dict(count=1,label="YTD",step="year",stepmode="todate"),label="1y",dict(step="all")
        ])
    ),rangeslider=dict(
        visible=False
    ),type="date"
)
)

fig.show()

enter image description here