folium库 画轨迹覆盖热力图
时间: 2025-02-12 13:21:12 浏览: 73
### 如何使用 Folium 绘制带有轨迹的热力图
为了在地图上绘制带有轨迹的热力图,可以利用 `folium` 和其插件 `HeatMapWithTime` 来实现这一目标。这允许随着时间的变化显示不同位置的数据热度变化情况。
下面给出一段 Python 代码示例用于创建这样的可视化图表:
```python
import folium
from folium.plugins import HeatMapWithTime
import numpy as np
# 假设有一个时间序列的位置数据列表,每个元素都是 (纬度, 经度, 时间戳)
data = [
[(37.7749, -122.4194, i), (37.7849, -122.4094, i)]
for i in range(10) # 这里假设我们有10个时间点的数据
]
# 将数据转换成适合 HeatMapWithTime 的格式 [[time_step_1_data], [time_step_2_data], ...]
heat_data = [[[point[0], point[1], 1] for point in time_slice] for time_slice in data]
# 创建中心位于旧金山的地图对象
m = folium.Map(location=[37.7749, -122.4194], zoom_start=13)
# 添加热力图到地图中
HeatMapWithTime(
heat_data,
auto_play=True,
max_opacity=0.6,
).add_to(m)
# 保存生成的地图为 HTML 文件
m.save('heatmap_with_trajectory.html')
```
这段代码首先导入必要的库并准备了一些模拟的时间序列位置数据[^1]。接着定义了一个包含这些位置坐标的数组,并将其转化为适用于 `HeatMapWithTime` 插件所需的结构化形式。最后,在指定地理位置的基础上初始化了一张 Folium 地图实例,并通过调用该插件的方法把处理过的数据集加入其中以便渲染出动态热力图效果[^2]。
阅读全文
相关推荐







