はじめに
matplotlibでひとつ、または、複数のグラフを作成する方法は数種類ある。ここではその中で、subplot, add_subplot, subplots, GridSpecによるグラフの作成方法について説明する。
モジュールのインポート
ひとつのグラフを表示
subplotによる方法
plt.subplot(111)
plt.figure()でfigを作成し、ax = plt.subplot(111)とすることで図を作成できる。
plt.subplot(1,1,1)
plt.subplot(1,1,1)としても同様のグラフが生成する。
figureのサイズ変更
figsize=(4,6)とすることで横4 inch、縦6 inchのグラフを作成できる。figsizeのデフォルト値は(6,4)である。
複数のグラフを表示
plt.subplot()による方法
subplot(211)とsubplot(212)で縦に並んだグラフ、subplot(121)とsubplot(122)で横に並んだグラフを作成できる。
211は2行1列の1番目という意味で、212は2行1列の2番目という意味になる。
121は1行2列の1番目という意味で、122は1行2列の2番目という意味になる。
add_subplot()による方法
fig.add_subplotのようにすることでも、plt.subplotと同様の複数グラフが作成できる。
plt.subplots()による方法
plt.subplots(nrows=2,ncols=2)のように行数(nrows)と列数(ncols)を設定することで複数の整列したグラフを作成することができる。
ax.ravel()でaxを展開することで、整数インデックスでaxを選択できるようになる。その順番は左上から右下の順となる。
sharex, shareyによる目盛りラベルの簡素化
sharex, shareyをTrueとすると軸の範囲がすべてのグラフで統一され、目盛りラベルが外側のみに表示されるようになる。
GridSpec()について
GridSpec()により、グラフを表示したい範囲をグリッド状に分割し、グラフを表示したい範囲をax4 = fig.add_subplot(grid[1:, 1:])
のように指定すれば、より柔軟性の高い複数グラフを作成できる。
コメント