天天看點

使用pyplot.matshow()函數添加繪圖示題

僅供參考

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()           

複制

使用pyplot.matshow()函數添加繪圖示題

補充知識:給某數組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()函數添加繪圖示題

你可以參考我的制作方式,給你的熱圖添加标注,避開不必要的坑

以上這篇使用pyplot.matshow()函數添加繪圖示題就是小編分享給大家的全部内容了,希望能給大家一個參考。