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

Plotly技术求助:如何调整地图上饼图的大小?

调整Plotly地图上饼图大小的方法

你当前代码里控制饼图大小的核心参数是domain_x和domain_y,这两个参数接受0到1之间的元组,代表饼图在整个画布中的占比范围,元组两端的差值越大,饼图对应方向的尺寸就越大。

具体调整方式

1. 添加饼图时直接设置尺寸

修改go.Pie中的domain_x和domain_y参数,扩大数值范围即可放大饼图:

fig = go.Figure()

# 调整domain参数扩大饼图尺寸
fig.add_trace(go.Pie(
    values=[17674,12279,11963,10384,5858],
    labels=['Meals','Processed proteins','Bakery','Snacks','Vegetables'],
    # x方向占画布10%到50%,y方向占20%到60%,饼图尺寸明显变大
    domain_x=(0.1, 0.5), 
    domain_y=(0.2, 0.6)
))
fig.update_traces(showlegend=False,selector=dict(type='pie'))

# 地图背景设置保持不变
fig.add_layout_image(
        dict(
            source="path_to_blank_map",
            x=0,
            y=1.2,
            sizex=1.8,
            sizey=2,
            opacity=0.5,
            layer="below")
)

fig.update_layout(template="plotly_white",height=800,width=1200)
fig.show()

2. 用update_traces批量调整(适合多饼图场景)

如果需要后续修改饼图大小,可通过update_traces针对饼图trace调整:

# 针对所有饼图trace调整尺寸
fig.update_traces(
    domain_x=(0.2, 0.6),
    domain_y=(0.3, 0.7),
    selector=dict(type='pie')
)

参数说明

  • domain_x=(a, b):饼图在x轴方向的起始/结束位置(相对于画布宽度的比例,0为最左,1为最右),b - a的差值决定饼图宽度。
  • domain_y=(c, d):饼图在y轴方向的起始/结束位置(相对于画布高度的比例,0为最下,1为最上),d - c的差值决定饼图高度。

你可以根据地图背景的位置,灵活调整这两个参数的数值,让饼图大小和位置适配地图区域。

内容的提问来源于stack exchange,提问作者Tristan Salord

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 10:15:33