qq_41734591 2018-05-02 13:30 采纳率: 66.7%
浏览 7651
已采纳

如何使用matplotlib生成如下热力图

图片说明
如上图,要求有标题,横纵坐标都为字母,右边有热力图图例,总之越像越好。最好标题和横纵坐标都和上图一致,中间的数据以列表形式给出,代码中多加点注释,我好理解一点。本人新手,以前没接触过绘图,知道很麻烦各位大神,请大神见谅。谢谢!
其实关于matplotlib生成热力图的问题我也看过不少,但好像没有完全能用的。我看到有个相似的代码如下,但缺少右边的colorbar,请问大神如何修改代码添加colorbar?:
import matplotlib.pyplot as plt
import numpy as np
column_labels = list('ABCD')
row_labels = list('WXYZ')
data = np.random.rand(4,4)
fig, ax = plt.subplots()
heatmap = ax.pcolor(data, cmap=plt.cm.Blues)

ax.set_xticks(np.arange(data.shape[0])+0.5, minor=False)
ax.set_yticks(np.arange(data.shape[1])+0.5, minor=False)

ax.invert_yaxis()
ax.xaxis.tick_top()

ax.set_xticklabels(row_labels, minor=False)
ax.set_yticklabels(column_labels, minor=False)

plt.show()

  • 写回答

3条回答 默认 最新

  • WuLi_Zhe 2018-05-03 06:18
    关注

    import numpy as np
    import matplotlib.pyplot as plt

    x = np.random.rand(100).reshape(10,10)
    plt.xticks(np.arange(10)+0.5,['x','y','z','h','j','k','t','f','q','p'])
    plt.yticks(np.arange(10)+0.5,['x','y','z','h','j','k','t','f','q','p'])
    plt.imshow(x, cmap=plt.cm.hot, vmin=0, vmax=1)
    plt.title('color-fast')
    plt.colorbar()
    plt.show()

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog