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

Folium热力图在IE浏览器的Jupyter Notebook中无法显示

解决Folium热力图在Jupyter Notebook中显示空白的问题

嘿,我看你现在卡在添加热力图后地图空白这一步了——你贴的代码只初始化了北海区域的基础地图,还没把热力图需要的数据和图层真正整合进去对吧?这是新手用Folium常踩的坑,我帮你理清楚原因,再给你完整的可运行方案:

为啥会空白?核心原因有这几个

  • 没给热力图喂数据:Folium的热力图必须要有纬度、经度、权重的结构化数据,空图层当然显示不出来
  • 图层没绑定到地图:就算有数据,要是没把热力图图层用add_to(m)挂载到你初始化的地图对象m上,它也不会出现在地图里
  • 数据和地图视野不匹配:如果你的热力点不在当前地图的中心点和缩放范围内,也会看起来像空白(不过你选的[52.5,2]是北海核心区,这个问题不大)

完整的北海彩色点状热力图代码

下面是直接能在Jupyter跑的示例,我模拟了北海区域的随机热力数据,你直接替换成自己的真实数据就行:

import folium
from folium import plugins
import pandas as pd
import numpy as np

# 1. 初始化北海区域基础地图(把缩放级调到8,更聚焦北海)
m = folium.Map(location=[52.5, 2], zoom_start=8)

# 2. 模拟热力数据(替换成你的真实数据:纬度、经度、热力权重)
# 真实数据如果是CSV,用pd.read_csv读取后提取对应列就行
np.random.seed(42)  # 固定随机种子,方便复现
n_points = 50
# 北海附近的经纬度范围:纬度51.5-53.5,经度1-3
latitudes = np.random.uniform(51.5, 53.5, n_points)
longitudes = np.random.uniform(1, 3, n_points)
weights = np.random.randint(1, 100, n_points)  # 权重越高,热力点颜色越深

# 整理成Folium热力图要求的格式:[[lat1, lon1, weight1], ...]
heat_data = [[lat, lon, weight] for lat, lon, weight in zip(latitudes, longitudes, weights)]

# 3. 把热力图图层绑定到地图上
plugins.HeatMap(heat_data, radius=15, blur=10).add_to(m)

# 4. 在Jupyter中显示地图
m

替换真实数据的小技巧

如果你的数据是CSV格式(比如列名是lat, lon, value),可以这样快速读取并转换:

df = pd.read_csv("your_heat_data.csv")
heat_data = df[["lat", "lon", "value"]].values.tolist()

还是空白?试试这些排查步骤

  • 先打印heat_data看看有没有有效数据,确认经纬度在北海范围内(纬度51-54,经度0-4之间)
  • 调整热力图的radius(点大小)和blur(模糊程度)参数,太大或太小都可能导致看不见
  • 尝试在Jupyter中用显式渲染:from IPython.display import display; display(m)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 10:50:39