title: plt.show() not working in spyder ide
body: <p>I am new to Python and Spyder.  I am using Python 2.7.13 and Spyder 3.1.4.  I cannot get <code>plt.show()</code> to work on my data, and cannot reproduce a simple histogram example from the website. <code>plt.draw()</code> does not work either. I have changed the graphics backend from inline to automatic to Qt4 to Qt5 as a similar question proposed, but non of this has worked. If type <code>fig</code> in the IPython console, it will display the graph. I am posting the example here. Any suggestions on how to fix this are appreciated.</p>
  
  <pre><code>import numpy as np
  import matplotlib.pyplot as plt
  import matplotlib.mlab as mlab
  
  mu, sigma = 100, 15
  x = mu + sigma * np.random.randn(10000)
  
  fig = plt.figure()
  ax = fig.add_subplot(111)
  
  # the histogram of the data
  n, bins, patches = ax.hist(x, 50, normed=1, facecolor='green', alpha=0.75)
  
  # hist uses np.histogram under the hood to create 'n' and 'bins'.
  # np.histogram returns the bin edges, so there will be 50 probability
  # density values in n, 51 bin edges in bins and 50 patches.  To get
  # everything lined up, we'll compute the bin centers
  bincenters = 0.5*(bins[1:]+bins[:-1])
  # add a 'best fit' line for the normal PDF
  y = mlab.normpdf( bincenters, mu, sigma)
  l = ax.plot(bincenters, y, 'r--', linewidth=1)
  
  ax.set_xlabel('Smarts')
  ax.set_ylabel('Probability')
  #ax.set_title(r'$\mathrm{Histogram\ of\ IQ:}\ \mu=100,\ \sigma=15$')
  ax.set_xlim(40, 160)
  ax.set_ylim(0, 0.03)
  ax.grid(True)
  
  plt.show()
  </code></pre>