如何在 python 破折号图中默认隐藏标签?

How to hide labels per default in a python dash graph?

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

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",这个特定的标签会变灰并从图表中删除。有没有办法让标签默认变灰?我想绘制一个带有很多标签的图表,但它看起来一团糟。但我也不想排除任何数据。实现干净外观但又保持数据完整性的一个好方法是默认隐藏这些标签。提前致谢

这在 plotly 中很容易实现。

您必须将 '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'
         },
    ],