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