To make plots using Matplotlib, you must first enable IPython's matplotlib mode.

To do this, run the `%matplotlib`

magic command to enable plotting in the current Notebook.

This magic takes an optional argument that specifies which Matplotlib backend should be used. Most of the time, in the Notebook, you will want to use the `inline`

backend, which will embed plots inside the Notebook:

In [1]:

```
%matplotlib inline
```

`%matplotlib qt`

). This will use Matplotlib's interactive Qt UI in a floating window to the side of your browser. Of course, this only works if your browser is running on the same system as the Notebook Server. You can always call the `display`

function to paste figures into the Notebook document.

With matplotlib enabled, plotting should just work.

In [2]:

```
import matplotlib.pyplot as plt
import numpy as np
```

In [3]:

```
x = np.linspace(0, 3*np.pi, 500)
plt.plot(x, np.sin(x**2))
plt.title('A simple chirp');
```

`Figure`

object is cleared at the end of each cell, so you will need to issue all plotting commands for a single figure in a single cell.

IPython's `%load`

magic can be used to load any Matplotlib demo by its URL:

In [4]:

```
%load http://matplotlib.sourceforge.net/mpl_examples/pylab_examples/integral_demo.py
```

In [5]:

```
#!/usr/bin/env python
# implement the example graphs/integral from pyx
from pylab import *
from matplotlib.patches import Polygon
def func(x):
return (x-3)*(x-5)*(x-7)+85
ax = subplot(111)
a, b = 2, 9 # integral area
x = arange(0, 10, 0.01)
y = func(x)
plot(x, y, linewidth=1)
# make the shaded region
ix = arange(a, b, 0.01)
iy = func(ix)
verts = [(a,0)] + list(zip(ix,iy)) + [(b,0)]
poly = Polygon(verts, facecolor='0.8', edgecolor='k')
ax.add_patch(poly)
text(0.5 * (a + b), 30,
r"$\int_a^b f(x)\mathrm{d}x$", horizontalalignment='center',
fontsize=20)
axis([0,10, 0, 180])
figtext(0.9, 0.05, 'x')
figtext(0.1, 0.9, 'y')
ax.set_xticks((a,b))
ax.set_xticklabels(('a','b'))
ax.set_yticks([])
show()
```