title: wxPython GUI: migrating gnuplot to matplotlib
body: <p>I currently have a GUI built in wxPython with several sections, one of which displays a .png image of a plot:</p>
  
  <pre><code>self.plot = wx.BitmapButton(self.pane_system, -1, wx.Bitmap("/home/myname/projects/newton/plot/src/graph.png", wx.BITMAP_TYPE_ANY))
  </code></pre>
  
  <p>In another part of the GUI, there is a place where I can edit parameters. The current setup is that When I change the parameters and press enter, the code tells Gnuplot to re-plot and save the new plot to the graph.png file, then update the GUI to show the updated image.</p>
  
  <p>I have several general questions:</p>
  
  <ul>
  <li><p>I want to migrate gnuplot to matplotlib for the following reason: If I use gnuplot, the machine that is running the executable must have gnuplot installed on their machine. On the other hand, matplotlib is a python module, so I don't have to worry about installing graphical packages on the other machines. Is this assumption correct?</p></li>
  <li><p>How can I modify my wxPython GUI window to show the matplotlib plot? I found tutorials several telling me how to create a new panel with a matplotlib plot, but I would like to simply have it appear where the old plot was. I think I can make matplotlib save the plot to an image file just as I did in gnuplot. Is it generally a good idea to save the plot as an image and update the GUI, or are there other (faster) best practices for updating plots? One drawback of using image files (as in the above code) is that they do not resize when I resize the GUI window.</p></li>
  <li><p>If I package this as an executable, will I have to install wxPython/Python on a Windows machine to make the executable run?</p></li>
  </ul>