python画全球热力图
时间: 2025-01-28 17:03:45 浏览: 72
### 如何使用 Python 绘制全球热力图
为了绘制全球热力图,可以采用 `geopandas` 和 `matplotlib` 或者更专业的地理信息系统库如 `plotly` 来实现。下面提供一种基于这些工具的方法。
#### 方法一:利用 geopandas 和 matplotlib
首先安装必要的包:
```bash
pip install geopandas matplotlib shapely pyproj fiona descartes contextily
```
接着准备国家边界数据以及要可视化的数值型数据集。这里假设有一个包含各国名称及其对应值的数据框 `df_world_data`。
加载世界地图形状文件并将其与数据连接起来:
```python
import geopandas as gpd
from shapely.geometry import Point, Polygon
# 加载预定义的世界地图边界数据
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
# 假设 df_world_data 是一个 DataFrame,其中 'country' 列代表国家名,而'value' 表示该国对应的度量值
merged = world.set_index('name').join(df_world_data.set_index('country'))
```
创建热力图:
```python
fig, ax = plt.subplots(1, figsize=(15, 10))
merged.plot(column='value', cmap='OrRd', linewidth=0.8, ax=ax, edgecolor='0.8')
plt.title("Global Heatmap Using Geopandas and Matplotlib")
plt.show()
```
这种方法简单易懂,适合初学者快速上手[^1]。
#### 方法二:借助 plotly 实现交互式的全球热力图
对于希望获得更加动态效果的应用场景来说,`plotly` 提供了一个很好的解决方案。Plotly 支持多种类型的图表,并允许用户轻松制作出高质量的地图图形。
先确保已经安装了 Plotly 库:
```bash
pip install plotly
```
编写如下代码来构建一个简单的例子:
```python
import plotly.express as px
# 构建样本数据帧;实际应用中应替换为真实数据源
data_frame = pd.DataFrame([
dict(Country="China", Value=9),
dict(Country="India", Value=7),
# 添加更多条目...
])
fig = px.choropleth(data_frame,
locations="Country",
locationmode='country names',
color="Value",
title="Interactive Global Heatmap with Plotly")
fig.update_layout(margin={"r":0,"t":30,"l":0,"b":0})
fig.show()
```
此方法不仅能够生成静态图像,还可以导出 HTML 文件以便在网络浏览器中查看互动版本[^2]。
阅读全文
相关推荐

















