如何使用 Plotly 创建垂直滚动条?

Posted

技术标签:

【中文标题】如何使用 Plotly 创建垂直滚动条?【英文标题】:How to create a vertical scroll bar with Plotly? 【发布时间】:2020-11-26 21:22:47 【问题描述】:

我想在 Plotly 中为折线图创建垂直滚动。为了可视化,垂直滚动如下图所示。

假设我们有如下 6 个折线图,那么如何在画布上创建一个垂直滚动条

import plotly.graph_objects as go
import plotly.io as pio
from plotly.subplots import make_subplots
import pandas as pd

# data
pio.templates.default = "plotly_white"
df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/finance-charts-apple.csv')
df = df.set_index('Date')
df.tail()
cols = df.columns[:-4]
ncols = len(cols)

# subplot setup
fig = make_subplots(rows=ncols, cols=1, shared_xaxes=True)

for i, col in enumerate(cols, start=1):
    fig.add_trace(go.Scatter(x=df[col].index, y=df[col].values), row=i, col=1)

fig.show()

感谢您提供任何提示或良好的阅读材料。

【问题讨论】:

显然你可以用dash来做到这一点。 【参考方案1】:

我使用 plotly-dash 制作了一个单页 Web 应用程序。在这个仪表板中,我想创建一个垂直条形图,它的侧面也有一个滚动条。 我导入了以下依赖项:

from dash.dependencies import Input, Output, State
import dash_html_components as html
import dash_core_components as dcc
import dash_bootstrap_components as dbc
import dash
import dash_table
import plotly.graph_objs as go
import pandas as pd

在 app.layout 中,我在包含我的 dcc.graph 组件的 html.Div 中提供了 css 样式参数:-

dcc.Graph(
            id='doctors',
            figure=
        ),style="maxHeight": "400px", "overflow": "scroll")
        ], width='size': 6)

稍后在@app 回调中,我为垂直条形图指定了高度:-

fig.update_layout(height = (30*len(all_by_doctor)), title_text='Total bookings 
by  doctors'.format(len(all_by_doctor)),plot_bgcolor='#ffffff')

【讨论】:

以上是关于如何使用 Plotly 创建垂直滚动条?的主要内容,如果未能解决你的问题,请参考以下文章

如何获得带有垂直子图的分组箱线图

如何在小部件中添加垂直滚动条?

如何隐藏水平滚动条并保持垂直滚动条可见,同时仍然能够水平滚动?

如何在 dijit 菜单上放置垂直滚动条

如何强制显示垂直滚动条? [复制]

如何在winforms文本框中获取默认垂直滚动条的位置