如何将地图中的地理坐标图例替换为URL关联的图片
解决Plotly Mapbox地理坐标标记替换为URL关联图片的问题
你当前的代码仅实现了鼠标悬停时显示图片,并未将地图上的红色坐标标记替换为目标图片。要实现标记替换,需修改marker属性指定图片来源,具体调整如下:
修改后的代码
import plotly.express as px fig = px.scatter_mapbox(Circuit, lat="lat", lon="lng", hover_name="name", zoom=3, height=1000) # 将坐标标记替换为URL关联图片 fig.update_traces( marker=dict( src=Circuit['url'], # 绑定数据集中的图片URL列 size=20, # 按需调整图片显示大小 opacity=0.8 ), customdata=Circuit[['name', 'url']], hovertemplate="<b>%{customdata[0]}</b><br><img src='%{customdata[1]}' width='200'>" ) fig.update_layout(mapbox_style="open-street-map") fig.update_layout(title_x=0.5,title_y=0.95,title_text='全球赛道分布',margin={"r":0,"t":0,"l":0,"b":0}) fig.show()
关键注意事项
- 确保
Circuit['url']中的图片链接为可公开访问的有效地址,部分网站的图片存在防盗链限制,会导致加载失败;若使用本地图片,需先转为Base64编码格式。 - 可通过调整
marker的size参数适配图片显示效果,避免图片过大或过小影响地图观感。
内容的提问来源于stack exchange,提问作者Anas Souidi
相关产品推荐
相关产品推荐

