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

如何在Python的Plotly气泡地图中添加气泡上方的数值文本标签?

如何在Plotly Express的scatter_mapbox气泡上方添加文本标签

你可以通过循环调用fig.add_annotation()为每个城市的气泡添加文本标签,关键是要正确设置注释的坐标、文本内容和位置参数。以下是修改后的完整代码:

import plotly
import plotly.express as px
import pandas as pd

df = pd.DataFrame(dict(
    CityName=['New York', 'Boston'],
    Latitude=[40.7128, 42.3601],
    Longitude=[-74.0060, -71.0589],
    Total=[100,200]
))

token = 'PASTE YOUR TOKEN HERE'
px.set_mapbox_access_token(token)

# 生成基础气泡地图
fig = px.scatter_mapbox(df, lat='Latitude', lon='Longitude', hover_name='CityName', size='Total')

# 循环添加文本标签
for idx, row in df.iterrows():
    fig.add_annotation(
        x=row['Longitude'],
        y=row['Latitude'],
        text=str(row['Total']),
        showarrow=False,
        yanchor='bottom',  # 让标签在气泡上方
        font=dict(size=12, color='black')
    )

plotly.offline.plot(fig)

关键说明:

  • 循环遍历DataFrame的每一行,为每个城市单独添加注释
  • x和y分别对应经度和纬度,确保标签定位准确
  • showarrow=False隐藏注释的箭头,只显示文本
  • yanchor='bottom'设置文本的底部对齐到气泡顶部,避免标签覆盖气泡
  • 可以通过font参数调整标签的大小和颜色,适配地图风格

之前你尝试fig.add_annotation()没成功,大概率是没有针对每个数据点单独设置坐标,或者位置参数没调整到位。这个方法不需要切换到go.Scattermapbox,直接在Plotly Express生成的图上扩展即可,符合你“简便修改”的需求。

内容的提问来源于stack exchange,提问作者Wilbert J. Seoane

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 17:30:25