如何将同一城市相近经纬度点绘制成纯散点图而非地图图?
问题原因
你生成的散点图变形,核心是Plotly默认未固定坐标轴纵横比,经纬度属于地理坐标,需保证x轴(经度)、y轴(纬度)比例匹配,才能还原点位的真实分布形态。
解决方案
你不需要引入地图底图相关功能,仅需对原有代码添加坐标轴比例配置即可实现预期效果,修改后代码如下:
import plotly.express as px import pandas as pd filename = "short_rtv.pkl" df = pd.read_pickle(filename) fig = px.scatter(df, x="Long", y="Lat", hover_data=["Request"], size_max=8, # 可按需调整点的最大尺寸 opacity=0.6) # 可按需调整点的透明度,避免重叠遮挡 # 固定坐标轴纵横比,解决分布变形问题 fig.update_layout( yaxis=dict( scaleanchor="x", scaleratio=1, ), xaxis_title="经度", yaxis_title="纬度" ) fig.write_html("plot.html")
可选优化
如果你所在城市纬度偏高,可将scaleratio参数替换为1/(cos(城市中心纬度*π/180)),能得到更贴合实际地理分布的比例,小范围城市直接设置为1即可满足需求。
内容的提问来源于stack exchange,提问作者AndW
相关产品推荐
相关产品推荐

