IPython notebookでブラウザ内にグラフを描画する

概要

PythonにはIPythonというブラウザやターミナルで対話的にPythonを実行できるツールがあります。 また、科学計算ライブラリnumpy, scipyやグラフ描画ライブラリmatplotlibがあります。

こうしたツールを組み合わせて、Pythonを使ってブラウザで対話的にグラフを描画してみます。

f:id:slowquery:20130401011325p:plain

環境

インストールした環境です。

  • OSX Mountain Lion 10.8.3
  • homebrew
  • pythonbrew
  • Python 2.7.3

インストール方法

OSXだと非常に簡単に環境が構築できます。

numpy

$ pip install numpy

scipy

$ brew install gfortran
$ pip install scipy

matplotlib

$ pip install matplotlib

IPython & IPython notebook

$ brew install readline
$ brew install pyqt
$ brew install zmq
$ pip install jinja2
$ pip install tornado
$ pip install ipython
$ pip install pyzmq
$ pip install pygments
  • readlineがなくてもIPythonは起動しますが警告が出ます。
  • IPython notebookにtornadoが必要です。

使ってみる

ターミナルでIPython

matplotlibを使ってグラフを描く場合には、ipythonに--plylabオプションをつけて起動します。

$ ipython --pylab

対話型のPythonが起動します。

In [1]: import numpy
In [2]: from matplotlib import pyplot
In [3]: x = numpy.arange(0, 10, 0.1)
In [4]: y = cos(x)
In [5]: pyplot.plot(x,y)

f:id:slowquery:20130401010702p:plain

IPythonにはタブによる補間やオブジェクトの調査など多くの便利な機能がついています。

ブラウザでIPython

notebookオプションを付けて、IPython notebookを起動します。グラフをブラウザ内に表示する場合はinlineオプションを付けます。

$ ipython notebook --pylab inline

f:id:slowquery:20130401011325p:plain