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

在density_mapbox中添加自定义店铺图标技术咨询

在Plotly的density_mapbox热力图上添加自定义店铺图标

一、正确使用内置符号(如你当前用的star)

确保Scattermapbox轨迹与热力图绑定在同一个Figure实例中,通过marker.symbol指定内置符号即可:

import plotly.graph_objects as go

# 初始化热力图(假设你已有lat_list、lon_list、value_list数据)
fig = go.Figure(go.Densitymapbox(
    lat=lat_list,
    lon=lon_list,
    z=value_list,
    radius=12  # 调整热力图半径
))

# 添加内置star符号的店铺点位
fig.add_scattermapbox(
    lat=[39.9042, 31.2304],  # 店铺纬度列表
    lon=[116.4074, 121.4737],  # 店铺经度列表
    mode='markers',
    marker=dict(
        size=18,
        symbol='star',  # Plotly内置符号,可选值还有'circle', 'square', 'diamond'等
        color='#ff4500',  # 符号颜色
        opacity=0.8
    ),
    text=['北京门店', '上海门店'],  # 鼠标悬停显示的店铺名称
    hoverinfo='text'
)

# 配置地图基础参数
fig.update_layout(
    mapbox_style='carto-darkmatter',  # 可选地图样式
    mapbox_center=dict(lat=35.8617, lon=104.1954),  # 地图中心坐标
    mapbox_zoom=5,
    height=600
)

fig.show()

二、添加自定义店铺图标

如果需要用自己的店铺Logo,直接通过marker.image指定图标URL(本地路径或线上链接均可),建议使用透明背景的PNG/SVG格式:

# 在已有热力图的基础上添加自定义图标
fig.add_scattermapbox(
    lat=[30.2741, 23.1291],
    lon=[120.1551, 113.2644],
    mode='markers',
    marker=dict(
        size=25,
        image='https://example.com/shop-logo.png',  # 替换为你的图标地址
        allowoverlap=True,  # 强制图标显示在热力图上层
        opacity=0.9
    ),
    text=['杭州旗舰店', '广州分店'],
    hoverinfo='text'
)

fig.show()

注意事项

  • 本地图标路径需确保程序可访问,或转为base64编码嵌入代码(避免路径问题)
  • 调整size参数适配地图缩放级别,避免图标过大/过小
  • 若图标被热力图遮挡,务必设置allowoverlap=True

内容的提问来源于stack exchange,提问作者Haroldo Machado

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 13:42:35