Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

plt.show() not working in spyder ide

I am new to Python and Spyder. I am using Python 2.7.13 and Spyder 3.1.4. I cannot get plt.show() to work on my data, and cannot reproduce a simple histogram example from the website. plt.draw() 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 fig in the IPython console, it will display the graph. I am posting the example here. Any suggestions on how to fix this are appreciated.

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()
like image 963
fmc100 Avatar asked Aug 14 '17 17:08

fmc100


2 Answers

Change your IPython console graphics settings.

If you are using Spyder here are the steps:

  1. Go to Tools.
  2. Go to Preferences.
  3. Select IPython console.
  4. Go to Graphics tab.
  5. Under theGraphics backend section, select Automatic as the backend type.

Then, restart your kernel.

enter image description here

like image 95
Abhi Agarwal Avatar answered Sep 20 '22 12:09

Abhi Agarwal


Use plt.draw() instead of plt.show(). This worked for me. Here is the reference what I found: https://github.com/spyder-ide/spyder/issues/2402

like image 27
Harsh Avatar answered Sep 17 '22 12:09

Harsh