用語比較
plt.figure()とplt.subplots()の違い|Axesの有無(Python3データ分析)
違いは、Axesが最初からあるかどうかです。公式のQuick start guideでは、plt.figure()が空のFigure、plt.subplots()がAxes付きのFigureです。
Python3データ分析試験の公式の出題範囲には、Matplotlibの節(6問)があります。Figure と Axes の作り方の出題の形式は、受験前に公式の案内で確かめてください。
この記事の目次
この記事の根拠と出典
各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。
plt.figure()とplt.subplots()の要点
plt.figure()
Axesのない空のFigureが返る。データを描く領域(Axes)は、あとから自分で追加する。
plt.subplots()
Axesが1つのFigureが返る。plt.subplots(2, 2) なら、2×2の格子に並んだ4つのAxesを持つFigureになる。
違いを表で確認
| 比較軸 | plt.figure() | plt.subplots() |
|---|---|---|
| 作られるもの(公式Quick start guide) | fig = plt.figure():Axesのない空のFigure | fig, ax = plt.subplots():Axesが1つのFigure |
| 戻り値 | Figureだけを返す | fig, ax = plt.subplots() のように、FigureとAxesの2つを返す |
| 複数のAxes | Axesはあとから追加して使う | fig, axs = plt.subplots(2, 2) で、2×2の格子状に並んだAxesが最初から作られる |
| すぐ描けるか | Axesがないので、そのままでは描く領域がない | 戻り値のax(Axes)に対して ax.plot() をすぐ呼べる |
| 配置を指定したい場合 | Axesを自分で足すので、配置もそのとき自分で決める | 同じ「Axesも一緒に作る」仲間にsubplot_mosaicがあり、左に1つ・右に2つのような配置を指定できる |
Python3エンジニア認定データ分析試験の学習に使う書籍(Amazon)
PRどこで迷っているかを切り分ける
ふつうの1枚のグラフを描きたい人
fig, ax = plt.subplots() で、FigureとAxesを一度に作れます。公式のQuick start guideも、FigureとAxesを作る最も簡単な方法としてplt.subplots()を挙げています。
2×2のように複数のグラフを並べたい人
plt.subplots(2, 2) を使います。行の数と列の数を掛けた4つのAxesが作られます。
plt.figure() と plt.subplots() のどちらも「Figureを作る」ので同じだと思っている人
どちらもFigureを作りますが、Axesの有無が違います。呼び出しごとに、作られるAxesの数を数えて整理しておきます。
具体例で使い分ける
例 1
Axesの数を数える
公式のQuick start guideの3つの呼び出しを、Axesの数で比べる場面です。
- plt.figure() はAxesのない空のFigureなので、Axesは0個です。
- plt.subplots() はAxesが1つのFigureなので1個、plt.subplots(2, 2) は2×2の格子なので4個です。
結論: Axesの数は 0個・1個・4個。Figureは、どの呼び出しでも1つです。
例 2
戻り値の受け取り方を書き分ける
Axesに折れ線を描くコードを書く場面です。
- plt.subplots() はFigureとAxesの2つを返すので、fig, ax = plt.subplots() と2つの変数で受け取ります。
- そのあと ax.plot() で描き、plt.show() で表示します。Jupyterノートブックのようにセルの図を自動で表示する環境では、plt.show() は省略できます。
結論: 描く領域がほしいなら、plt.subplots() で受け取ったaxに対して描く。
問題文から答えを選ぶ手順
- 1
必要なAxesの数を決める
1つのグラフなのか、2×2のように複数なのかを先に決めます。
- 2
呼び出しを選ぶ
Axesも一緒にほしいならplt.subplots()(配置を指定したいときはsubplot_mosaic)。Axesのない空のFigureだけでよいならplt.figure()です。
- 3
戻り値の変数を合わせる
plt.subplots() の戻り値は fig と ax(複数なら axs)の2つ。plt.figure() の戻り値はFigureだけです。
試験での見分け方
- 1Axesのない空のFigureはplt.figure()。
- 2Axesが1つのFigureはplt.subplots()。
- 32×2の格子状のAxesはplt.subplots(2, 2)。Axesは4つ。
- 4配置を指定してAxesを作るならsubplot_mosaic。
- 5plt.subplots() の戻り値は FigureとAxesの2つ。
誤答しやすい選択肢
plt.figure() の直後にAxesがあると考える
修正: plt.figure() はAxesのない空のFigureです。Axesは追加するか、plt.subplots() で一緒に作ります。
plt.subplots(2, 2) のAxesが2つだと考える
修正: 2×2の格子なので、Axesは4つです。行と列の数を掛けて数えます。
plt.subplots() の戻り値を1つの変数で受け取る
修正: plt.subplots() は FigureとAxesを返すので、fig, ax = plt.subplots() の形で受け取ります。
確認問題
Q1plt.figure() で作られる Figure に、Axes は含まれるか?
答え: 含まれない。Axesのない空のFigureになる
公式のQuick start guideでは、plt.figure() は an empty figure with no Axes と説明されています。
Q2fig, axs = plt.subplots(2, 2) で作られる Axes は何個か?
答え: 4個
2×2の格子状に並んだAxesが作られます。Figureは1つです。
Q3Axesの配置を「左に1つ、右に2つ」のように指定して作る関数は?
答え: subplot_mosaic
公式の例では、subplot_mosaic に配置を表す入れ子のリストを渡しています。
到達チェック
- plt.figure() と plt.subplots() で、Axesの有無が違うと説明できる
- plt.subplots(2, 2) のAxesの個数を数えられる
- plt.subplots() の戻り値がFigureとAxesの2つだと説明できる
関連ページで確認する
同じ資格で次に知りたいこと
- NumPyのaxis=0とaxis=1の違い|列ごとの集計と行ごとの集計(Python3データ分析試験)
NumPyのaxis=0は列ごと、axis=1は行ごとに計算します。3行4列の配列でsum・min・cumsumの結果を並べ、pandasのmean(axis=1)との対応、間違えやすい点と確認問題をまとめます。
- ColumnTransformerのremainder='drop'と'passthrough'の違い(Python3データ分析)
ColumnTransformerのremainderは既定で'drop'(指定しなかった列を捨てる)、'passthrough'にすると変換せず出力の右側に残します。3列のデータで出力の列数を比べ、scikit-learn公式文書で照合してまとめます。
- train_test_splitのrandom_stateを固定する場合と指定しない場合の違い(再現性)
train_test_splitのrandom_stateに整数を渡す場合と、指定しない場合の違いを、再現性・shuffleとの関係・公式例の出力で解説。Python3エンジニア認定データ分析試験の公式例にあるrandom_state=0の意味と確認問題つきです。
よくある質問
Qplt.figure()とplt.subplots()の違いは何ですか?
Axesの有無です。Matplotlib公式のQuick start guideでは、plt.figure() は Axesのない空のFigure、plt.subplots() は Axesが1つのFigureを作ると説明されています。
Qplt.subplots(2, 2) のAxesはいくつできますか?
2×2の格子状に並んだ4つです。Figureは1つです。
Qplt.show() は必ず必要ですか?
公式のQuick start guideでは、Jupyterノートブックのように、コードセルで作った図を自動で表示する環境ではplt.show()を省略できると説明されています。
QPython3データ分析試験で問われますか?
公式の出題範囲にMatplotlibの節(6問)があります。Figureの作り方の出題の形式は、受験前に公式の案内で確認してください。
次に見る比較
- G検定・DS検定・統計検定2級で重なる用語10語の比較
同じ名前の用語の定義と収録章を、資格ごとに並べます。
- ベイズの定理と条件付き確率の違い(統計検定2級の式と計算例)
求める確率の向きの違いと、陽性になる確率の計算例を確かめます。
- 紛らわしい用語ペア早見表
混同しやすい用語の違いと判定の手掛かりを、資格別の一覧で確かめます。
執筆: AI資格ドリル編集部(運営者情報を見る)
