初心者向けMatplotlib講座第2弾:FigureとAxesの概念を理解しよう
FigureとAxesとは何か説明できないよという方は、この記事を通して一緒に説明できるようになりましょう。
そもそもMatplotlibとは?インストール方法は?気になる方はまずはこちらの記事を見てみてください。
目次
Figure
そもそもFigureは英語で「形」や「図形」という意味があります。グラフを表示できるMatplotlibと関係ありそうですよね。
もう言っちゃいますが、Matplotlibにおいて
FigureはPowerPointで言う1枚のスライドです。
スライドといっても発表スライド全体ではなく、「スライドを追加」ボタンを押したときに追加される、あの1ページのことです。
この空のスライドの上には、グラフや文字や画像など色々のせることができますよね。
そのイメージそのままです。
MatplotlibのFigureも、グラフをのせるための「土台」です。とりあえず「Figureを作る=空のスライドを用意する」と思っておけばOKです。
Figureを作るコードはたったこれだけです:
# Figureを作る
fig = plt.figure()
では実際に表示させてみましょう。
import matplotlib.pyplot as plt
import numpy as np
# Figureを作る
fig = plt.figure()
# 表示
plt.show()
結果
<Figure size 640x480 with 0 Axes>
640×480のFigureができましたが、with 0 Axesとなっていますね。図が表示されるわけでもなく、文字が出るだけです。
どうやら Axes というものが必要なようです。次はAxesを見ていきましょう。
Axes
FigureというスライドにのせるグラフがAxesです。
Axesとはaxis(軸)の複数形です。グラフにはx軸・y軸がありますよね。その「軸を持つ描画エリア」のことをAxesと呼んでいます。
ではFigureの上にAxesを作ってみましょう。
# Axesを作る
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
add_axes()はfigのメソッドです。FigureがないとAxesは作れません。PowerPointのスライドがないと、グラフを置く場所がないのと同じですね。
では表示させてみましょう。
import matplotlib.pyplot as plt
import numpy as np
# Figureを作る
fig = plt.figure()
# Axesを作る
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
# 表示
plt.show()
今度は空のグラフエリアが表示されたはずです。
FigureとAxesを使ってsinのグラフを表示させる
FigureとAxesの関係がわかったところで、実際にsinのグラフを表示させてみましょう。
import matplotlib.pyplot as plt
import numpy as np
# ① Figureを作る
fig = plt.figure()
# ② Axesを作る
ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
# ③ データ作成
x = np.linspace(0, 10, 100)
y = np.sin(x)
# ④ Axesにプロット
ax.plot(x, y)
# ⑤ 表示
plt.show()
表示結果
流れを整理するとこうなります:
| ステップ | やること | PowerPointで言うと |
|---|---|---|
| ① | Figureを作る | 新しいスライドを追加する |
| ② | Axesを作る | スライドにグラフを挿入する |
| ③④ | データをプロットする | グラフにデータを入力する |
| ⑤ | 表示する | スライドショーを再生する |
まとめ
- Figure = グラフを置くための土台(PowerPointのスライド1枚)
- Axes = 実際のグラフ描画エリア(軸を持つ)
- FigureがないとAxesは作れない
- Axesがないとグラフは表示されない
次回はadd_axes()の引数について詳しく見ていきます!
