軸の範囲、グリッド、Tex数式など

論文でグラフを作るときにいくつか覚えたことがあるのでそれらについて。
いいかげん論文終わらせたい。締切りは金曜日・・・。

軸の範囲

データを取得してグラフを作成した場合。ある特定の範囲だけ表したいことがある。(たとえばy軸の範囲を0〜100までに等)
ある実験のグラフ

定常状態のデータ(x軸の0付近は重要じゃないからそれ以外)を詳しくみたいー的な感じになったのでy軸の表示上限を設定

ylim(ymax = 4)

(下限を指定する場合にはymin = 0と入れる。)
これを表示する前に入れるだけで変更できる。


だいぶ変化が分かりやすくなった感じ。

今回は上限を決めただけだが

ylim(0, 4) #ymin, ymax

と範囲を指定することもできる。x軸についても同じ。また、

axis([0, 1000, 0, 4]) #xmin, xmax, ymin, ymax

このようにx軸とy軸同時に指定することも可。

グリッド表示

命令を一つ入れるだけ

grid(True)

Tex数式の出力

ラベルとか凡例でTex数式が使えたらいいなーなんて思ってたら使えるのね。
試しにy軸のラベル名に数式を書いてみる。

ylabel(r'$\sigma+\sigma_0$')

Texと同じように数式の始端と終端に$を入れて文字列の前に r を付ける。これだけ。
詳しくはText rendering With LaTeX — Matplotlib 2.0.2 documentationを参照のこと。


最終的にプログラムとグラフは以下のようになりました。

import pylab
time, data = pylab.loadtxt('MSE.txt', delimiter=',', unpack='True')
pylab.plot(time, data, 'r-', label='data')
pylab.xlabel('Number of trails')
pylab.ylabel(r'$\sigma+\sigma_0$')
pylab.ylim(ymax=4)
pylab.grid(True)
pylab.legend()
pylab.show()