タイトルや凡例とかについて

matplotlibでの軸やタイトルの設定。
グラフを一つ表示させるだけなら出来るんだけど、複数のグラフを表示させたときにタイトルや軸の名称をどういれるかわからないので調べてみた。
グラフが一つやグラフごと個別に軸の名前やタイトル付けるならいままでの方法で問題ないと・・・。
問題は複数のグラフをまとめた場合のタイトルなど。

全体のタイトル

グラフ全体にタイトルを付ける場合、show()を実行する前に次のような命令を入れれば良い。

pylab.suptitle('simulation and execution result')


凡例の場所変更

凡例の場所を変える。データ用意するのが面倒なのでサインとコサイン関数で。

import pylab

x = pylab.arange(-2, 2, 0.1)
sin_ = pylab.sin(x)
cos_ = pylab.cos(x)

pylab.subplot(211)
pylab.plot(x, sin_, 'r-')
pylab.plot(x, cos_, 'b-.') 
pylab.legend(('sin', 'cos'), 'upper left')

pylab.subplot(212)
pylab.plot(x, sin_, 'm-', label="simulation")
pylab.plot(x, cos_, 'g-.', label="test") #プロットデータ指定
pylab.legend(loc = 'upper left')
pylab.suptitle('legend test')
pylab.show()


legend()に凡例自体を入力することもできるし、plot()で凡例を、legend()で場所を指定するということもできる。
多分legend()で凡例の名前を入れるとplot()の順序関係が生まれそうな感じ。
ここを参照すればもっと詳しく場所が変えれることがわかる。pyplot — Matplotlib 2.0.2 documentation

ファイル出力

最後にファイルに出力する場合。
show()ではなく、savefig()を実行すれば良い。

pylab.savefig('plt.png')

保存形式は環境に依存するので注意。macではjpgとpngとepsではき出せることを確認した。他の形式は多分使わんので知らん。