Python全国热力图
时间: 2025-04-22 20:58:03 浏览: 59
### 使用Python制作中国全国范围的热力地图
为了实现这一目标,可以采用 `folium` 和百度地图 API 的组合方式。通过这些工具能够有效地获取地理位置信息并将之可视化成热力图。
#### 准备工作
安装必要的库:
```bash
pip install folium requests pandas
```
#### 获取地理编码数据
利用百度地图API进行地址解析服务,将具体的地点名称转换为经纬度坐标。这一步骤对于准备用于绘图的数据至关重要[^2]。
#### 绘制热力图
下面是一个简单的例子展示如何基于给定的城市名列表及其对应的热度值来构建一张覆盖中国的热力图:
```python
import folium
from folium.plugins import HeatMap
import requests
import json
def get_location(address):
url = 'http://api.map.baidu.com/geocoding/v3/'
ak = 'Your_Baidu_API_Key' # 替换成自己的AK
params = {'address': address, 'output': 'json', 'ak': ak}
response = requests.get(url, params=params)
answer = response.json()
if int(answer['status']) == 0:
location = answer['result']['location']
return (location['lat'], location['lng'])
else:
print(f"Error occurred while fetching {address}")
return None
data_points = [
{"city": "北京", "value": 1},
{"city": "上海", "value": 2},
{"city": "广州", "value": 3},
]
locations = []
for point in data_points:
loc = get_location(point["city"])
if loc is not None:
locations.append([loc[0], loc[1], point["value"]])
m = folium.Map(location=[35.8617, 104.1954], zoom_start=5)
HeatMap(locations).add_to(m)
m.save('heatmap_china.html')
```
此段代码实现了从城市名字到其相应纬度经度坐标的映射,并以此为基础生成了一个基础版本的地图热力分布图像[^4]。
阅读全文
相关推荐

















