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

发布于 2021-02-02 23:17:25

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

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

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

关注者
0
被浏览
106
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    如果你不想要六角形,可以使用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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看