title: Why does matplotlib.pyploy.imshow change it axes?
body: <p>I try to plot images in different subplots, but for some reason the images' axes changes while plotting. To demonstrate this, in the following example I plot the images in a 4-by-2 grid of subplots, and I keep checking whether the axes of the first image stays the same:</p>
  
  <pre><code>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])
  </code></pre>
  
  <p>The output indicates that after the third image was plotted, the axes of the first image was changed:</p>
  
  <pre><code>True
  True
  False
  False
  False
  False
  False
  False
  </code></pre>
  
  <p>Also, this turns out to be true:</p>
  
  <pre><code>ims[0][0].axes is ax[3][0]
  </code></pre>
  
  <p>output:</p>
  
  <pre><code>True
  </code></pre>
  
  <p>The reason this bothers me is that I want to update the images in future steps using ims[0][0].set_data(), but when I try to do that they only update in the axes <code>ax[3][0]</code></p>
  
  <p>How is behavior explained, and how can I work around it?</p>