如何通过脚本移除Plotly Express折线图中添加的选框?
移除Plotly折线图中的选框方法
Plotly并没有提供直接的figure.clear_selection()这类函数,但可以通过操作图表布局里的形状集合来移除选框——因为add_selection()本质就是在fig.layout.shapes中添加了一个矩形形状。具体方法如下:
方法1:清空所有形状(适合仅存在选框这一个形状的场景)
如果你的图表里只有这个选框形状,直接清空shapes列表就能移除选框:
fig.update_layout(shapes=[])
方法2:精准移除特定选框(适合存在多个形状的场景)
如果图表里还有其他需要保留的形状,可以通过筛选形状类型(选框是rect类型)或者自定义的name属性来移除目标选框:
- 通过形状类型筛选:
# 保留非矩形的形状,移除选框 fig.update_layout(shapes=[s for s in fig.layout.shapes if s.type != 'rect'])
- 通过自定义名称筛选(添加选框时指定
name):
# 添加选框时指定名称 fig.add_selection(x0=0, y0=10, x1=10, y1=0, name='my_selection') # 移除指定名称的选框 fig.update_layout(shapes=[s for s in fig.layout.shapes if s.name != 'my_selection'])
补充说明
你之前尝试的figure.update_layout(dragmode='zoom')只是改变了拖拽交互的模式,并不会移除已经添加到布局里的选框形状,所以无法达到移除选框的效果。
内容的提问来源于stack exchange,提问作者SquidyDev
相关产品推荐
相关产品推荐

