matplotlibでグラフを吐かせる

長い年月を再びあけて、Chainerをいじるのを再会した榊そらです。

Chainerいじるのに何か出そうとしたとき、matplotlibを使ってグラフを出そうとしたのですが、
いいブログはあったんですがPython3で動かなかったので追加情報としてブログにまとめます。

各種情報

  • python: 3.4.3
  • matplotlib: 1.4.3
  • numpy: 1.9.2

ソースはこちらbicycle1885.hatenablog.com

問題は表示部分で、今回の環境、おそらくPython3だと show を実行しないとだめです。

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(-3, 3, 0.1)
y = np.sin(x)
plt.plot(x, y)

plt.show()

ちなみにこれはipython notebookでも同様でした。

また、plt.show()の代わりに、plt.savefig('foo.png')のようにファイル名を指定すると簡単にpngにできて便利です。
実際検証でデータを取るときはsavefigとclf、グラフの削除を使って

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(-3, 3, 0.1)
y = np.sin(x)
plt.plot(x, y)

plt.savefig('sin.png')

plt.clf()
y = np.cos(x)
plt.plot(x, y)

plt.savefig('cos.png')

と、こんな感じでどんどん画像を作っていくといい感じですね。

あとこれがうれしい。
とりあえず描く — matplotlib 1.0 documentation