Python-使用散点数据集在MatPlotLib中生成热图
我有一组X,Y数据点(约10k),很容易将其绘制为散点图,但我想将其表示为热图。
我浏览了MatPlotLib中的示例,它们似乎都已经从热图单元格值开始以生成图像。
有没有一种方法可以将所有不同的x,y转换为热图(其中x,y的频率较高的区域会“变暖”)?
回答:
如果你不想要六角形,可以使用numpy
的histogram2d
函数:
import numpy as npimport 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