Pythonのmatplotlibの使い方メモ

以下の実行例は、IPythonで試しているので、Pythonのコードの中に書くには、次のようにインポートが必要かもしれない。

import numpy as np
import matplotlib.pyplot as plt

1変数関数のグラフを書く例

def f(x):
    return sin(1/x)

X = np.linspace(0, 1, 256, endpoint=True)
plt.plot(X, f(X))

\[ f(x) = \sin \frac{1}{x} \]

別の例

def f(x):
    return (x >= 0) * x
X = np.linspace(-10, 10, 256)
plt.plot(X, f(X))

\[ \begin{equation} f(x) = \left\{ \begin{array}{ll} x & (x \geqq 0) \\ 0 & (x \ < 0) \\ \end{array} \right. \end{equation} \]

等高線のグラフを書く例

def f(x, y):
    return np.sin(np.sqrt(x * x + y * y)) + np.sin(x)

n = 256
x = np.linspace(-10, 10, n)
y = np.linspace(-10, 10, n)
X,Y = np.meshgrid(x, y)
plt.contourf(X, Y, f(X, Y), 8, alpha=.75, cmap=plt.cm.Blues)
plt.contour(X, Y, f(X, Y), 8, colors='black', linewidth=.5)

plt.savefig('test.png')

cmap=plt.cm.Blues の部分で使えるカラーマップは以下に一蘭がある。

http://wiki.scipy.org/Cookbook/Matplotlib/Show_colormaps

グラフを画像に書き出すには

IPythonのnotebookとかだとグラフはインラインに表示されるので便利だが、CUI環境でPythonスクリプトを動かす場合、グラフはもちろんインラインには表示されないので、以下のようにする。

import matplotlib.pyplot as plt

...

# 最後にグラフを画像に出力
plt.savefig("test.png")
このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。