Python / matplotlib.pyplot (ax)

matplotlibには「pyplotインターフェース」と「Axesインターフェース」があるのがややこしいところです。しかもAxesインターフェースで書くときも結局matolotlib.pyplotはImportしてあげる必要があります。ここではAxesインターフェースについて書きます。

Axesインターフェースは「Figureオブジェクト」(図やグラフお表示するキャンバス・ウィンドウ)と「Axesオブジェクト」(軸やラベルを含む図やグラフそのもの)を別々に生成してあげる必要があるので、pyplotよりもCodeが長くなりがちです。けれどAxesインターフェースのほうができることは多いと言われていますね。1つのFigureに複数のAxesを配置できるのもそのうちの1つです。

「Figureオブジェクト」は"fig = plt.figure(dpi=150)"などとして定義します。dpiは解像度です。

「Axesオブジェクト」は"ax = fig.add_subplot(111)"などとして定義します。これはグラフを追加するという意味だが、1つ目のグラフを設定するときもこれを使う。"111"は、1行目1列の1番目という意味。
("ax = Axes3D(fig)"のような定義の仕方は古いバージョンの書き方なので、おススメできません。)

ax.bar

棒グラフの描画。

ax.fill_between(…)

囲まれた部分を色塗りする。

ax.grid

グリッド線を入れる。

ax.plot(x, y, …)

散布図や折れ線グラフの描画。

ax.scatter(x, y, z,…)

散布図の描画。

ax.set_aspect('equal')

x軸とy軸の幅を数値レベルで揃える。"set_xlim"や"set_ylim"で指定している数値が同一でないかぎり、正方形になるわけではない。むしろそこを設定していないとかなりいびつな形になったりするので注意が必要。

ax.set_facecolor('COLOR')

グラフのプロットエリアの色を指定する。''で囲むのを忘れずに。色を付けてもグリッド線などは残るので問題なし。

ax.set_title("xxx")

グラフの上に表示させるタイトルの設定。

ax.set_xlabel("xxx"), ax.set_ylabel("yyy"), ax.set_zlabel("zzz")

x軸またはy軸のタイトル(ラベル名)の設定。

ax.set_xlim(start, end), ax.set_ylim(start, end), ax.set_zlim(start, end)

x軸またはy軸の表示幅を数値で設定する。折れ線グラフや棒グラフのx軸のように、散布図と違ってx軸が数値でなくても、個数を実質的に数値で指定することができる。

ax.twinx()

2つ目のグラフを1つのFigureに描画したいときなどに使う。

ax.view_init

3次元グラフの視点を変える。2種類の数字を指定する必要があるが、その数字が何を意味するのかまだよくわかっていない。角度⁉


いいなと思ったら応援しよう!