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

如何绘制地图中带异色网格的热力图?Python适用库咨询

绘制网格热力图的Python库推荐

这类带不同颜色网格的热力图,Python中最常用的两个库是Seaborn和Matplotlib,以下是具体实现方式:

1. Seaborn(推荐,开箱即用)

Seaborn的heatmap函数专门适配这类网格热力图场景,默认支持网格线、颜色映射配置,代码简洁易读:

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

# 模拟网格数据(对应每个网格的统计值,比如目的地概率、出行频次)
grid_data = np.random.rand(20, 20)  # 20x20的网格矩阵

plt.figure(figsize=(8, 6))
# 绘制热力图:设置颜色映射、网格线宽度/颜色
sns.heatmap(
    grid_data,
    cmap='viridis',  # 颜色方案,可替换为'coolwarm'等
    linewidths=0.5,  # 网格线宽度
    linecolor='white',  # 网格线颜色
    annot=False,  # 是否显示网格内数值,按需开启
    cbar=True  # 显示颜色标尺
)
plt.title('Grid-based Destination Probability Heatmap')
plt.show()

2. Matplotlib(更灵活,适合深度自定义)

如果需要更精细的自定义控制,用Matplotlib的pcolormesh函数可以实现同样效果:

import matplotlib.pyplot as plt
import numpy as np

grid_data = np.random.rand(20, 20)
# 定义网格的坐标范围(若对应经纬度,替换为实际范围即可)
x_coords = np.arange(grid_data.shape[1] + 1)
y_coords = np.arange(grid_data.shape[0] + 1)

plt.figure(figsize=(8, 6))
# 绘制颜色网格
mesh = plt.pcolormesh(x_coords, y_coords, grid_data, cmap='viridis')
# 添加网格线
plt.grid(True, color='white', linewidth=0.5, linestyle='-')
# 显示颜色标尺
plt.colorbar(mesh, label='Probability')
plt.title('Grid-based Heatmap with Matplotlib')
plt.show()

补充说明

这类图的核心逻辑是:将目标区域划分为规则网格,每个网格对应一个统计数值(比如论文中出租车前往该区域的概率),用颜色深浅直观展示数值差异,网格线用于区分不同网格单元。如果需要结合真实地理坐标,只需将x_coords和y_coords替换为实际的经纬度区间即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 08:59:14