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 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办