我有一组X,Y数据点(约10k),很容易绘制为散点图,但我想表示为热图.

我查看了MatPlotLib中的示例,它们似乎都已经从heatmap单元格值开始生成图像.

有没有一种方法可以将一束不同的x,y转换成热图(其中x,y频率较高的区域会"更热")?

推荐答案

如果不需要六边形,可以使用numpy的histogram2d函数:

import numpy as np
import numpy.random
import matplotlib.pyplot as plt

# Generate some test data
x = np.random.randn(8873)
y = np.random.randn(8873)

heatmap, xedges, yedges = np.histogram2d(x, y, bins=50)
extent = [xedges[0], xedges[-1], yedges[0], yedges[-1]]

plt.clf()
plt.imshow(heatmap.T, extent=extent, origin='lower')
plt.show()

这是一张50x50的热图.如果你想,比如说512x384,你可以打bins=(512, 384)histogram2d.

示例:

Python相关问答推荐

获取2个字节之间的异或

只需使用Python在图像中保留 colored颜色 范围区域

仅使用2种 colored颜色 创建热图

手动为pandas中的列上色

使用decorator 重复超载

合并同名列,但一列为空,另一列包含值

如何在Python中使用时区夏令时获取任何给定本地时间的纪元值?

如果索引不存在,pandas系列将通过索引获取值,并填充值

如何使用pandasDataFrames和scipy高度优化相关性计算

Pystata:从Python并行运行stata实例

有症状地 destruct 了Python中的regex?

为什么sys.exit()不能与subproccess.run()或subprocess.call()一起使用

在Wayland上使用setCellWidget时,try 编辑QTable Widget中的单元格时,PyQt 6崩溃

在Python中动态计算范围

梯度下降:简化要素集的运行时间比原始要素集长

在极性中创建条件累积和

pandas:排序多级列

当递归函数的返回值未绑定到变量时,非局部变量不更新:

如何并行化/加速并行numba代码?

python中csv. Dictreader. fieldname的类型是什么?'