manxing
manxing

Reputation: 3325

How to show matplotlib plots?

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

Upvotes: 71

Views: 179059

Answers (6)

Akshaya Natarajan
Akshaya Natarajan

Reputation: 2161

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

Upvotes: 4

Wassadamo
Wassadamo

Reputation: 1386

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

%matplotlib inline

Purpose of "%matplotlib inline"

Upvotes: 15

HISI
HISI

Reputation: 4797

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

Upvotes: 2

Lava Sangeetham
Lava Sangeetham

Reputation: 3311

Save the plot as png

plt.savefig("temp.png")

Upvotes: 11

George
George

Reputation: 5691

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

Upvotes: 37

joaquin
joaquin

Reputation: 85683

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

Upvotes: 96

Related Questions