title: plt.figure.Figure.show() does nothing when not executing interactively
body: <p>So I have a following simple code saved in a .py file, and executing in shell:</p>
  
  <pre><code>import matplotlib.pyplot as plt
  
  myfig = plt.figure(figsize=(5, 5))
  ax1 = myfig.add_subplot(1, 1, 1)
  myfig.show()
  </code></pre>
  
  <p>However it does nothing upon execution, no errors nothing.</p>
  
  <p>Then when I start Ipython in shell, and type exact same code, it does pop up an empty window. Why is that?</p>
  
  <p>of course I can use plt.show() and everything is fine. But lets say I have two figures, fig1 and fig2, and there is stuff in both figs, and I want to only display one of them, how can I do that? plt.show() plots both of them.</p>
  
  <p>Sorry if this is stupid I'm just curious why when working interactively in ipython, window pops up upon calling fig1.show() but nothing happens when I execute same script in shell but doing: python myfile.py</p>
  
  <p>Thank you!</p>