Plotly Mapbox Scattermapbox非circle类marker无法渲染如何解决
问题原因
- 非circle类型的marker属于Mapbox Maki图标资源,仅支持在Mapbox官方底图下渲染,你当前使用的
stamen-terrain属于第三方底图,不支持Maki图标加载,仅能渲染默认的circle标记。 - 所有使用Maki图标的场景都需要配置有效的Mapbox Access Token,未配置Token时非circle标记都会加载失败,这也是你测试社区示例无法渲染的核心原因。
解决方案
按照以下步骤修改代码即可正常显示Maki图标:
- 先申请Mapbox个人Access Token,免费额度可满足普通开发测试需求
- 修改代码中
mapbox配置项:替换底图样式为Mapbox官方样式、新增Token参数填入你申请的凭证
- 注意:参数名根据Plotly版本不同可能为
accesstoken或者access_token,如果配置后仍无法显示可以尝试替换参数名测试
修正后的可运行代码
import plotly.graph_objects as go fig = go.Figure(go.Scattermapbox( mode = "markers+lines", lon = [10, 20, 30], lat = [10, 20,30], marker = {'size': 10, 'symbol':'circle'})) # marker类型标记现在可以正常显示 fig.add_trace(go.Scattermapbox( mode = "markers+lines", lon = [-50, -60,40], lat = [30, 10, -20], marker = {'size': 10, 'symbol':'marker'})) fig.update_layout( margin ={'l':0,'t':0,'b':0,'r':0}, mapbox = { 'center': {'lon': 10, 'lat': 10}, # 替换为Mapbox官方样式,可选值有streets、light、dark、outdoors、satellite等 'style': "streets", 'center': {'lon': -20, 'lat': -20}, 'zoom': 1, # 此处填入你申请的Mapbox Access Token 'accesstoken': '你申请的Mapbox Token字符串' }) fig.show()
内容的提问来源于stack exchange,提问作者Dave
相关产品推荐
相关产品推荐

