我試圖用imshow在單獨的圖中繪製幾個數組的值。在子圖環境中使用時matplotlib.pyplot.imshow的邊距
當我只繪製一張圖片,並使用帶正確範圍的plt.imshow()命令時,該圖完美呈現。但是,當我嘗試在同一圖中使用plt.subplot()創建此圖像的多個圖時,這些圖中的每一個都以不正確的x軸設置結束,並且有白色邊距。我試着用set_xlim()命令糾正x軸範圍,但它沒有效果(我也不明白)。
最小的工作示例如下 - 任何幫助將不勝感激!
from matplotlib import pyplot as plt
import numpy as n
image = n.array([[ 1., 2., 2., 5.],
[ 1., 0., 0., 3.],
[ 1., 2., 0., 2.],
[ 4., 2., 3., 2.]])
xextent, yextent= n.shape(image)
fig, ax = plt.subplots(2,sharex=True, sharey=True)
im0 = ax[0].imshow(image, extent=(0,xextent,yextent,0),interpolation='nearest');
ax[0].set_xlim([0,4])
im1 = ax[1].imshow(image, extent=(0,xextent,yextent,0),interpolation='nearest');
ax[1].set_xlim([0,4])
plt.show()
這似乎是通過在'subplots'調用上設置'sharex'和'sharey'觸發的。你需要這些用於你的用例嗎? – xnx
我明白了,謝謝。但是,是的,我確實需要這些 - 最後我想要一個四乘四的情節,我不想浪費在標籤上的空間。 – mzzx
在這種情況下,您最好手動關閉不需要它們的子圖上的刻度線和軸標籤。 – xnx