【问题标题】:how to annotate heatmap with text in matplotlib如何在 matplotlib 中用文本注释热图
【发布时间】:2012-08-08 16:38:18
【问题描述】:

我正在使用 matplotlib 绘制热图:

plt.pcolor(rand(5,5))

如何使用绘制的实际数字注释热图?在绘制的热图的每个单元格中,将对应于该单元格的值放入传递给pcolor 的 5x5 矩阵中。谢谢。

【问题讨论】:

    标签: python numpy matplotlib scipy


    【解决方案1】:

    没有自动功能来做这样的事情,但您可以循环遍历每个点并将文本放在适当的位置:

    import matplotlib.pyplot as plt
    import numpy as np
    
    data = np.random.rand(5, 4)
    heatmap = plt.pcolor(data)
    
    for y in range(data.shape[0]):
        for x in range(data.shape[1]):
            plt.text(x + 0.5, y + 0.5, '%.4f' % data[y, x],
                     horizontalalignment='center',
                     verticalalignment='center',
                     )
    
    plt.colorbar(heatmap)
    
    plt.show()
    

    HTH

    【讨论】:

      【解决方案2】:

      seaborn 热图通过设置 annot=True 自动完成这项工作。

      有关示例,请参阅 this

      【讨论】:

        猜你喜欢
        • 2015-05-05
        • 1970-01-01
        • 1970-01-01
        • 2018-12-25
        • 2020-09-04
        • 2021-03-14
        • 2020-08-10
        • 1970-01-01
        相关资源
        最近更新 更多