【问题标题】:Plotly legend click event绘制图例点击事件
【发布时间】:2021-03-02 20:11:57
【问题描述】:

对于 plotly 图表(例如,plotly express scatter),当我单击该图表图例中的项目时,如何触发事件/函数/回调?具体来说,我的目的是通过单击图例来更改图中点的颜色。 提前谢谢!

【问题讨论】:

    标签: python plotly plotly-dash plotly-python ggplotly


    【解决方案1】:

    基于此线程: https://community.plotly.com/t/hide-a-component-with-one-event-and-make-it-visible-with-another/19290 我使用以下回调:

    @app.callback(Output('your_figure_id', 'figure'),
                  [Input('your_figure_id', 'restyleData')])
        def update(x):
            #modify/create new figure as you wish, x contains the legend entry you clicked
            return figure
    

    由于输入和输出图形 id 相同,此回调将更新原始图形,如果要保持输入图形不变,只需提供另一个输出 id。

    【讨论】:

    • 这只是隐藏组件,还是真的从图表中删除它?因为如果我有 20 个非常重的组件,并且我拥有其中的 19 个,那么图表是否仍然会因为它们只是“隐藏”而具有所有 20 个组件的过载,或者它只会有 1 个当前可见组件的开销?
    • 你能帮我创建我问的内容吗(所以创建一个带有点的图形和一个带有几种颜色的图例 - 蓝色、红色、绿色、黄色,然后在每个图例上单击(对于例如,蓝色),颜色会变成蓝色,等等?)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-26
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    相关资源
    最近更新 更多