【问题标题】:Three variables as heatmap三个变量作为热图
【发布时间】:2016-08-19 14:42:41
【问题描述】:

我想将我的数据绘制为具有以下结构的热图:

X = [1,1,1,1,1,1,1,1,1,1], Y = [1,2,3,4,5,6,7,8,9,10] Z = [0.2, 0.33, 0.1, 0.25, 0.0, 0.9, 0.75, 0.88, 0.44, 0.95]

x 和 y 轴应由 X 和 Y 表示,而“热量”由 Z 的值表示。

例如在坐标 (x,y) = (1,2) 处,强度应为 0.33 如何通过使用 matplotlib 来实现这一点? 查看与关键字热图相关的帖子,甚至与术语轮廓图相关的帖子,我还无法将其转移到这个问题上。

提前感谢您的任何提示 丹

【问题讨论】:

    标签: python matplotlib heatmap


    【解决方案1】:

    我希望您的数据只是一个示例,因为它看起来很有趣(它更像是一系列条带;x 维度是恒定的)。

    我会推荐使用pandas (general data-analysis)seaborn (matplotlib-extensions),这样会更好一些。

    代码

    import pandas as pd
    import matplotlib.pyplot as plt
    import seaborn as sns
    X = [1,1,1,1,1,1,1,1,1,1]
    Y = [1,2,3,4,5,6,7,8,9,10]
    Z = [0.2, 0.33, 0.1, 0.25, 0.0, 0.9, 0.75, 0.88, 0.44, 0.95]
    data = pd.DataFrame({'X': X, 'Y': Y, 'Z': Z})
    data_pivoted = data.pivot("X", "Y", "Z")
    ax = sns.heatmap(data_pivoted)
    plt.show()
    

    输出

    【讨论】:

    • 好答案
    猜你喜欢
    • 2015-12-27
    • 2018-05-21
    • 2021-07-24
    • 1970-01-01
    • 2016-12-21
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    相关资源
    最近更新 更多