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

如何在Python中基于带关联Z值的二维散点图数据生成热力图?

在Python中基于散点Z值生成热力图的实现

针对你需要的——将带Z值的二维散点数据转换为热力图(颜色对应Z值,而非点密度),下面是和你提供的R代码逻辑一致的Python实现方案,核心是通过二维插值把离散的散点Z值映射到规则网格上,再可视化:

实现步骤与代码

1. 导入所需库

我们会用到numpy处理数据、scipy.interpolate做二维插值、matplotlib.pyplot绘图:

import numpy as np
from scipy.interpolate import griddata
import matplotlib.pyplot as plt

2. 模拟样本数据

对应你R代码里的随机数据,生成x、y(0-1之间的均匀分布)和z(混合两个正态分布的数值):

# 设置随机种子保证可复现
np.random.seed(1)
# 生成x、y数据(150个点)
x = np.random.uniform(0, 1, 150)
y = np.random.uniform(0, 1, 150)
# 生成z数据:100个均值为1的正态分布 + 50个均值为20的正态分布
z = np.hstack([np.random.normal(1, 1, 100), np.random.normal(20, 1, 50)])

3. 处理重复点(可选但推荐)

如果你的散点中有重复的(x,y)坐标,和R里duplicate="mean"一样,我们先计算这些重复点的平均Z值:

# 把(x,y)作为键,聚合对应的z值取均值
unique_points = np.unique(np.column_stack([x, y]), axis=0)
mean_z = []
for point in unique_points:
    mask = (x == point[0]) & (y == point[1])
    mean_z.append(z[mask].mean())
x_unique, y_unique = unique_points[:, 0], unique_points[:, 1]
z_unique = np.array(mean_z)

4. 生成规则插值网格

定义插值后的输出网格分辨率,对应R代码里的xo和yo:

# 设置网格点数量(和原始数据长度一致,可调整改变分辨率)
n_grid = len(x)
# 生成规则网格的x、y轴
xi = np.linspace(x.min(), x.max(), n_grid)
yi = np.linspace(y.min(), y.max(), n_grid)
# 转换为二维网格矩阵
xi_grid, yi_grid = np.meshgrid(xi, yi)

5. 执行二维插值

用griddata函数完成插值,支持线性、立方、最近邻等插值方法,这里用线性插值对应R的默认逻辑:

# 插值得到规则网格上的Z值
zi = griddata((x_unique, y_unique), z_unique, (xi_grid, yi_grid), method='linear')

6. 绘制热力图

用imshow或pcolormesh绘制热力图,并添加颜色条说明Z值对应颜色:

plt.figure(figsize=(8, 6))
# 绘制热力图,设置坐标轴范围和Z值范围
im = plt.imshow(zi, extent=[x.min(), x.max(), y.min(), y.max()], 
                origin='lower', zlim=(-2, 25), cmap='viridis')
# 添加颜色条
plt.colorbar(im, label='Z Value')
# 设置坐标轴标签
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Heatmap from Scatter Data (Z-Value based)')
plt.show()

关键说明

  • 这个实现和你提到的“密度热力图”核心区别:颜色代表的是每个散点关联的Z值插值结果,而非(x,y)区域内的点数量。
  • 插值方法可以根据需求调整:method='nearest'(最近邻,最快但平滑度差)、method='cubic'(立方插值,平滑度更高)。
  • 网格分辨率n_grid可以自由调整,值越大热力图越精细,但计算量也会增加。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:38:53