僅供參考
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()
複制
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAjM2EzLcd3LcJzLcJzdllmVldWYtl2PnVGcq5ib1lXNk9GcqNDOvwVM0MDN0gTMtUGall3LcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.jpeg)
補充知識:給某數組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()函數添加繪圖示題就是小編分享給大家的全部内容了,希望能給大家一個參考。