欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

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

时间:2022-07-03 09:31:37|栏目:Python代码|点击:

仅供参考

import matplotlib.pyplot as plt
import 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()

我的热图得到是这样的:

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

上一篇:Python真题案例之错位键盘 单词长度 字母重排详解

栏    目:Python代码

下一篇:Python matplotlib超详细教程实现图形绘制

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

本文地址:http://www.codeinn.net/misctech/206686.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有