Plotly/Dash气泡图如何固定坐标轴并强制裁剪超出边缘的气泡
Plotly气泡图固定坐标轴并裁剪超出气泡的实现方案
- 首先强制锁死X、Y轴的范围,关闭坐标轴自动缩放逻辑,这是裁剪生效的核心前提
- 再给Scatter轨迹的marker配置
cliponaxis=True,开启超出轴范围部分的裁剪功能
之前单独设置cliponaxis=True未生效的原因是Plotly默认会根据气泡尺寸自动扩展轴范围来容纳完整标记,只要关闭自动缩放并手动指定轴范围,就不会再触发自适应调整,超出区域的气泡部分会被直接裁剪,切换气泡显隐也不会影响整体图表布局。
修改后的完整示例代码如下:
import plotly.graph_objects as go fig = go.Figure(data=[go.Scatter( x=[1, 2, 3, 4], y=[10, 11, 12, 13], text=['A<br>size: 40', 'B<br>size: 60', 'C<br>size: 80', 'D<br>size: 300'], mode='markers', marker=dict( color=['rgb(93, 164, 214)', 'rgb(255, 144, 14)', 'rgb(44, 160, 101)', 'rgb(255, 65, 54)'], size=[40, 60, 80, 300], cliponaxis=True ) )]) # 手动固定坐标轴范围,关闭自动缩放 fig.update_layout( xaxis=dict( range=[0.8, 4.2], autorange=False, fixedrange=True # 可选配置,禁止用户交互拖动缩放坐标轴 ), yaxis=dict( range=[9.5, 13.5], autorange=False, fixedrange=True ) ) fig.show()
内容的提问来源于stack exchange,提问作者pepe
相关产品推荐
相关产品推荐

