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

Plotly scatter_mapbox在Jupyter Notebook返回空白地图的解决方法

解决Plotly Express scatter_mapbox空白地图问题

在Python 3.9.12版本的Jupyter Notebook中,使用plotly.express.scatter_mapbox生成地图时始终返回空白,但line_geo等其他地理可视化函数可正常运行,需修复scatter_mapbox以满足需求。

可正常运行的代码示例

fig = px.line_geo(lat=[0,15,20,35], lon=[5,10,25,30])
fig.update_geos(fitbounds="locations")
fig.update_layout(height=300, margin={"r":0,"t":0,"l":0,"b":0})
fig.show()

无法正常运行的代码示例

import pandas as pd
import plotly.express as px

data = pd.read_csv('kc_house_data.csv')
houses = data[['id','lat','long', 'price']].copy()

fig = px.scatter_mapbox(houses,
                        lat='lat',
                        lon='long',
                        hover_name='id',
                        hover_data=['price'],
                        zoom=3,
                        height=300
                        )

fig.show()

已尝试的无效操作:仅传入数据集和经纬度参数生成地图、启用OpenGL。数据集为Kaggle上的kc-house-data。

解决方案

scatter_mapbox依赖Mapbox瓦片服务,必须指定有效的地图样式才能加载图层,默认配置可能因缺少样式或Token导致空白。修改代码如下:

import pandas as pd
import plotly.express as px

data = pd.read_csv('kc_house_data.csv')
houses = data[['id','lat','long', 'price']].copy()

fig = px.scatter_mapbox(houses,
                        lat='lat',
                        lon='long',
                        hover_name='id',
                        hover_data=['price'],
                        zoom=10,  # 适配数据所在区域的缩放级别
                        height=300,
                        mapbox_style='open-street-map'  # 指定免费公开的地图样式
                        )

fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})
fig.update_mapboxes(fitbounds="locations")  # 让地图自动适配数据点范围
fig.show()

关键修改说明

  1. 添加mapbox_style参数:使用Plotly内置的免费公开样式(如'open-street-map'、'carto-positron'等),无需额外配置Mapbox Token即可加载地图。
  2. 调整zoom值:原代码zoom=3缩放级别过低,数据点集中的区域会被缩小到几乎不可见,改为zoom=10适配kc-house-data的地理范围(美国华盛顿州金县)。
  3. 添加update_mapboxes(fitbounds="locations"):让地图自动定位到数据点所在区域,避免手动调整缩放的麻烦。

内容的提问来源于stack exchange,提问作者Marcos Nazario

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 11:46:05