首页 > 解决方案 > 如何在 python 破折号图中默认隐藏标签?

问题描述

假设我有一个这样的简单图表:

import dash
import dash_core_components as dcc
import dash_html_components as html

app = dash.Dash()

app.layout = html.Div(children=[
    html.H1(children='Hello Dash'),

    html.Div(children='''
        Dash: A web application framework for Python.
    '''),

    dcc.Graph(
        id='example-graph',
        figure={
            'data': [
                {'x': [1, 2, 3], 'y': [4, 1, 2], 'type': 'bar', 'name': 'SF'},
                {'x': [1, 2, 3], 'y': [2, 4, 5], 'type': 'bar', 'name': u'Montréal'},
            ],
            'layout': {
                'title': 'Dash Data Visualization'
            }
        }
    )
])

if __name__ == '__main__':
    app.run_server(debug=True)

该代码生成以下图表:

在此处输入图像描述

如果我单击“SF”或“Montréal”这两个标签之一,这个特定的标签会变灰并从图表中删除。有没有办法默认将标签变灰?我想绘制一个带有很多标签的图表,但它看起来很乱。但我也不想排除任何数据。实现干净外观但同时保持数据完整性的一个好方法是默认隐藏这些标签。提前致谢

标签: pythondashboardplotly-dash

解决方案


这在情节上很容易实现。

您必须添加'visible': 'legendonly'到您的跟踪中。

例子:

'data': [
        {'x': [1, 2, 3],
         'y': [4, 1, 2],
         'type': 'bar',
         'name': 'SF',
         'visible': 'legendonly'
         },
        {'x': [1, 2, 3],
         'y': [2, 4, 5],
         'type': 'bar',
         'name': u'Montréal'
         },
    ],

推荐阅读