2
我嘗試在不同的子圖中繪製圖像,但由於某些原因圖像的軸在繪圖時發生了變化。爲了證明這一點,在下面的例子中,我繪製圖像在副區的4×2的網格,並予保持檢查第一圖像的軸線是否保持不變:爲什麼matplotlib.pyploy.imshow會改變它的軸?
import matplotlib.pyplot as plt
import numpy as np
_,ax = plt.subplots(4,2)
ims = [[None]*2]*4
for i in range(4):
for j in range(2):
plt.sca(ax[i][j])
ims[i][j] = plt.imshow(np.random.rand(10,10))
print(ims[0][0].axes is ax[0][0])
輸出表明後第三圖像繪製,所述第一圖像的軸線改變:
True
True
False
False
False
False
False
False
此外,這被證明是正確的:
ims[0][0].axes is ax[3][0]
輸出:
True
這個困擾我的原因是我想更新使用IMS [0] [0] .set_data()在未來步驟的圖像,但是當我嘗試這樣做,他們只在軸更新ax[3][0]
行爲如何解釋,我該如何解決它?
我問了一個關於列表創建差異的確切原因的新問題:http://stackoverflow.com/questions/41344862/difference-in-creating-list-of-lists-in-python – ImportanceOfBeingErnest