使用pyplot.matshow()函数添加绘图标题

时间:2021-05-22

仅供参考

import matplotlib.pyplot as pltimport numpy as np def samplemat(dims): """Make a matrix with all zeros and increasing elements on the diagonal""" aa = np.zeros(dims) for i in range(min(dims)): aa[i, i] = i return aa fig = plt.figure()ax = fig.add_subplot(111)plt.title('title aaa')ax.matshow(samplemat((15, 15)), cmap='viridis') plt.show()

补充知识:给某数组a通过plt.matshow(a)方法得到的热图heatmap添加标注

先导入两个模块

import numpy as np
from matplotlib import pyplot as plt

figsize是你自己可以设置的图片大小尺寸

fig = plt.figure(figsize=(40,40))
ax = fig.add_subplot(1,1,1)

变量a是从一个csv文件里把你的数组download下来

注意:这里一定要用ax.imshow而不是ax.matshow

a=np.loadtxt('matrix.csv',delimiter=',')
ax.imshow(a,cmap='coolwarm')

设置热图的x轴和y轴刻度

注意:你设置的刻度范围一定要和你数组的行和列的范围一致。我的数组是一个四行60列的,所以我可以把我的x轴和y轴刻度设置成如下所示。

另外:tick1=np.arange(1, 61, 5)中的5,表示step步长

tick1=np.arange(1, 61, 5)tick2=np.arange(0, 4, 1)ax.set_yticks(tick2)ax.set_xticks(tick1)

给你的x轴和y轴刻度设置标签

注意:你设置的刻度标签一定要能和你的x轴和y轴刻度一一对应起来。

ax.set_yticklabels(label,fontsize=30)中的fontsize指的是刻度标签尺寸大小,这个你自己定

label=['L','O','V','E']tick3=np.arange(12)ax.set_yticklabels(label,fontsize=30)ax.set_xticklabels(tick3,fontsize=30)

设置x轴和y轴标签还有热图标签

plt.ylabel('love',fontsize=30)plt.xlabel('number',fontsize=30)plt.title("my_matrix",fontsize=50)

保存热图

plt.savefig('myfig.png', pad_inches = 0.2, bbox_inches = 'tight')
plt.show()

我的热图得到是这样的:

你可以参考我的制作方式,给你的热图添加标注,避开不必要的坑

以上这篇使用pyplot.matshow()函数添加绘图标题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章