You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 21:54:02