Python-使用散点数据集在MatPlotLib中生成热图

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

我浏览了MatPlotLib中的示例,它们似乎都已经从热图单元格值开始以生成图像。

有没有一种方法可以将所有不同的x,y转换为热图(其中x,y的频率较高的区域会“变暖”)?

回答:

如果你不想要六角形,可以使用numpyhistogram2d函数:

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-使用散点数据集在MatPlotLib中生成热图 的全部内容, 来源链接: utcz.com/qa/430615.html

回到顶部