如何在Python的Plotly散点地图中添加静态标签?
解决方案
要在px.scatter_mapbox中实现地点名称的静态显示,你可以通过update_traces方法修改底层trace的参数——虽然Plotly Express的接口没有直接暴露mode参数,但scatter_mapbox生成的trace本质是Scattermapbox类型,支持设置mode属性。
完整代码示例
import plotly.express as px import pandas as pd # 构造你的DataFrame df = pd.DataFrame({ "Name": ["place1", "place2"], "Count": [12, 39], "Latitude": [38, 37], "Longitude": [-121, -119] }) fig = px.scatter_mapbox(df, lat="Latitude", lon="Longitude", size="Count", zoom=5, mapbox_style="carto-positron", text="Name", opacity=0.4) # 设置trace模式为"markers+text",同时调整文本位置避免重叠 fig.update_traces(mode="markers+text", textposition="top center") fig.show()
关键说明
mode="markers+text":指定同时显示标记点和静态文本标签,替代默认的仅hover显示文本的行为。textposition="top center":将标签定位在标记点的上方居中位置,你也可以根据需求改为"bottom"、"left"等其他位置。- 原代码中的
text="Name"参数依然需要保留,用于指定要显示的文本内容。
内容的提问来源于stack exchange,提问作者Vivrd Prasanna
相关产品推荐
相关产品推荐

