How to show matplotlib plots?
Question:
I am sure the configuration of matplotlib
for python is correct since I have used it to plot some figures.
But today it just stop working for some reason. I tested it with really simple code like:
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(0, 5, 0.1)
y = np.sin(x)
plt.plot(x, y)
There’s no error but just no figure shown up.
I am using python 2.6, Eclipse in Ubuntu
Answers:
You must use plt.show()
at the end in order to see the plot
In matplotlib you have two main options:

Create your plots and draw them at the end:
import matplotlib.pyplot as plt plt.plot(x, y) plt.plot(z, t) plt.show()

Create your plots and draw them as soon as they are created:
import matplotlib.pyplot as plt from matplotlib import interactive interactive(True) plt.plot(x, y) raw_input('press return to continue') plt.plot(z, t) raw_input('press return to end')
Save the plot as png
plt.savefig("temp.png")
You have to use show()
methode when you done all initialisations in your code in order to see the complet version of plot:
import matplotlib.pyplot as plt
plt.plot(x, y)
................
................
plot.show()
In case anyone else ends up here using Jupyter Notebooks, you just need
%matplotlib inline
plt.plot(X,y)
function just draws the plot on the canvas. In order to view the plot, you have to specify plt.show()
after plt.plot(X,y)
. So,
import matplotlib.pyplot as plt
X = //your x
y = //your y
plt.plot(X,y)
plt.show()