将数据绘制为散点图是一种广泛使用的可视化技术。然而,对于大型数据集,热图提供了更简洁直观的表示。本文探讨了使用多功能 Matplotlib 库将分散数据转换为热图的方法。
提供的示例数据由 10,000 个 X、Y 数据点组成。 Matplotlib 的内置热图功能需要预处理单元格值,这使得从原始分散数据生成热图变得困难。
为了克服这个限制,我们可以利用 NumPy 的histogram2d 函数。该方法通过创建二维直方图来估计数据点的概率密度。
import numpy as np import matplotlib.pyplot as plt # Generate test data x = np.random.randn(8873) y = np.random.randn(8873) # Create a 50x50 heatmap heatmap, xedges, yedges = np.histogram2d(x, y, bins=50) extent = [xedges[0], xedges[-1], yedges[0], yedges[-1]] plt.imshow(heatmap.T, extent=extent, origin='lower') plt.show()
histogram2d 函数将数据量化为离散箱,创建一个热图,其中颜色强度代表每个箱中数据点的频率
您可以通过调整 bin 数量来修改热图分辨率:
# Create a 512x384 heatmap heatmap, xedges, yedges = np.histogram2d(x, y, bins=(512, 384))
此外,Matplotlib 允许对热图样式进行广泛的自定义,包括配色方案、插值方法和注释。探索 Matplotlib 的文档以获取更多自定义选项。
以上是如何使用 Matplotlib 将分散数据转换为热图?的详细内容。更多信息请关注PHP中文网其他相关文章!