Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Matplotlib not displaying figures

This must be a really basic question: I am trying to use Matplotlib. Here's the basic example from the documentation.

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0,5,0.1)
y = np.sin(x)
plt.plot(x,y)

I have tried this in ipython, bpython and the default interpreter (Ubuntu 10.10, 64 bit) and all I get are messages like:

[<matplotlib.lines.Line2D object at 0x3f14a90>]

What am I doing wrong?

like image 953
YXD Avatar asked Jan 28 '11 17:01

YXD


2 Answers

You're missing plt.show() to order matplotlib to show a window with the graph.

like image 149
AlexJF Avatar answered Oct 29 '22 07:10

AlexJF


In its default configuration, matplotlib needs to be told to render. That's what plt.show() does.

Matplotlib also has an interactive mode that can be useful when you're working interactively and want your plotting commands to happen immediately. The easiest way to use this is by opening an ipython session with the -pylab option. http://matplotlib.sourceforge.net/users/shell.html

like image 35
matt Avatar answered Oct 29 '22 05:10

matt