71

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

0

6 Answers 6

96

In matplotlib you have two main options:

  1. Create your plots and draw them at the end:

    import matplotlib.pyplot as plt plt.plot(x, y) plt.plot(z, t) plt.show() 
  2. 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') 
Sign up to request clarification or add additional context in comments.

1 Comment

For python 3.x users, use input in place of raw_input: stackoverflow.com/a/35168534/2711811.
37

You must use plt.show() at the end in order to see the plot

Comments

15

In case anyone else ends up here using Jupyter Notebooks, you just need

%matplotlib inline 

Purpose of "%matplotlib inline"

Comments

11

Save the plot as png

plt.savefig("temp.png") 

Comments

4

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() 

Comments

2

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() 

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.