【问题标题】:Heatmap not working accordingly to my array value [closed]热图没有根据我的数组值工作[关闭]
【发布时间】:2021-12-04 00:45:22
【问题描述】:

我目前正在尝试绘制范围从 0(红色)到 1(蓝色)的浓度图。这是我已经拥有的一组数据(称为grid_list)。

[[0.96875    0.85964912 0.86585366 0.76388889]
 [0.77631579 0.72289157 0.65168539 0.63333333]
 [0.59047619 0.53535354 0.51886792 0.49074074]
 [0.47706422 0.512      0.51111111 0.43801653]]

问题是,每次我尝试使用热图绘制它时,它都会给我一些非常奇怪的东西。这是我尝试过但失败的实现:

grid_list = np.array(grid_list)
im = self.axes1.imshow(grid_list, cmap='Wistia')

我不太确定在这种情况下我做错了什么。

【问题讨论】:

  • 试试sns.heatmap(grid_list, cmap='GnBu'),其中 seaborn 是 matplotlib 的高级 API。 Code and Plot。您的代码存在其他未显示的问题。
  • 它有效。谢谢!
  • 不客气。

标签: python matplotlib heatmap


【解决方案1】:

imshow 与您的数据完美配合(正如您向我们展示的那样)。

因此,您在代码的其他一些地方犯了错误,直到您向我们展示您的所有代码(请不要),没有人可以帮助您,您的问题应该被关闭,因为您的问题不可重现.

In [17]: import numpy as np
    ...: import matplotlib.pyplot as plt
    ...: g = '0.97 0.86 0.87 0.76 0.78 0.72 0.65 0.63 0.59 0.53 0.52 0.49 0.48 0.51 0.51 0.44'
    ...: g = [float(x) for  x in g.split()]
    ...: g = np.array(g).reshape(4,4)
    ...: plt.imshow(g, norm=plt.Normalize(0,1), cmap='Wistia')
    ...: plt.colorbar()
    ...: plt.show()

【讨论】:

    猜你喜欢
    • 2023-04-07
    • 2014-07-14
    • 1970-01-01
    • 2020-02-17
    • 2015-02-15
    • 2020-08-02
    • 2019-06-17
    • 2013-01-22
    • 1970-01-01
    相关资源
    最近更新 更多