title: Matplotlib figure not updating on data change
body: <p>I'm implementing an image viewer using <code>matplotlib</code>. The idea is that changes being made to the image (such as filter application) will update automatically.</p>
  <p>I create a Figure to show the inital image and have added a button using <code>pyQt</code> to update the data. The data <em>does</em> change, I have checked, but the Figure does not. <em>However</em>, if after I've pressed the filter application button, I <em>move</em> the image using <code>matplotlib</code>'s standard tool bar, the image is then updated.</p>
  <p>I assume I'm doing something wrong when updating the image, but since the fact of moving it actually forces the update, it then shows the data change. I would like for this to happen when I press the button, though.</p>
  <p>Below is some of the code. This is the initial figure initialization, which shows the original image:</p>
  <pre class="lang-py prettyprint-override"><code>self.observableFig = Figure((4.0, 4.0), dpi=100)
  self.canvas = FigureCanvas(self.observableFig)
  self.canvas.setParent(self.observableWindow)
  self.canvas.setFocusPolicy(Qt.StrongFocus)
  self.canvas.setFocus()
  
  self.canvas.mpl_connect('button_press_event', self.on_click)
  
  # Showing initial data on Window
  self.observableFig.clear()
  self.observableAxes = self.observableFig.add_subplot(1, 1, 1)
  min, max = self.min, self.max
  self.observableAxes.imshow(
      self.data,
      vmin=min,
      vmax=max,
      origin='lower'
  )
  </code></pre>
  <p>And this is the event for when the button that changes the data is pressed:</p>
  <pre class="lang-py prettyprint-override"><code>self.observableAxes.imshow(self.data/2, origin='lower')
  #    plt.clf()
  #    plt.draw()
  #    plt.show()
  </code></pre>
  <p>I have tried <code>draw()</code>, <code>show()</code>, basically anything I've found on <code>pyplot</code> about this. I have also tried both with and without <code>plt.ion()</code> at the beginning, but it hasn't made a difference in this.</p>
  <p>Thanks in advance.</p>