

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
plt.subplotsとは何か
plt.subplots は Python のデータ可視化ライブラリである Matplotlib の中の代表的な関数です。図とその中のサブプロットを一度に作成できる点が大きな魅力です。1 つの窓に複数のグラフを並べて表示したいときにとても便利で、初心者がグラフのレイアウトを理解する入り口としておすすめです。まず覚えておきたいのは fig と ax という二つの要素が返ってくる点です。fig は全体の図、ax は個々の軸を指します。
基本の使い方
使い方はとてもシンプルです。まず matplotlib.pyplot をインポートし、plt.subplots を呼び出します。
コード例
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3], [1, 4, 9])
plt.show()
複数のサブプロットを作る例
nrows と ncols を使うと、縦に並ぶ図の行数と横に並ぶ列数を指定できます。例えば 2 行 2 列のサブプロットを作るには次のようにします。
fig, axes = plt.subplots(nrows=2, ncols=2, figsize=(8, 6))
このとき返り値は fig と 2 次元の配列のような Axes オブジェクトになります。配列の要素を使って各サブプロットにデータを描画できます。
例
axes[0,0].plot([1,2,3], [1, 4, 9])
axes[0,1].plot([1,2,3], [2, 3, 5])
plt.show()
サブプロットのレイアウト調整
グラフ同士が重なる場合は layout や tight_layout を使って余白を調整します。例えば
fig.tight_layout()
よく使う引数と返り値
下表は plt.subplots の代表的な引数と返り値の説明です。
| 引数 | 説明 |
|---|---|
| nrows | 行数 |
| ncols | 列数 |
| figsize | 図の大きさ |
| sharex | x 軸の共有設定 |
| sharey | y 軸の共有設定 |
| squeeze | 1 つのサブプロットの場合の戻り値の形 |
まとめ
plt.subplots を使うと、図と複数のサブプロットを同時に作成でき、後は各サブプロットにデータを描くだけでOK です。初めは 1 つのグラフから始めて、徐々に nrows や ncols を増やしていくと、見栄えの良いダッシュボード風の図を簡単に作成できます。
plt.subplotsの同意語
- サブプロットを作成する
- Matplotlib で複数の描画領域(サブプロット)を一括で生成する機能。plt.subplots を呼ぶと Figure と Axes が返され、グリッド状に配置された複数の図領域を準備できます。
- FigureとAxesを同時に作成する
- 1回の関数呼び出しで、図全体を表す Figure オブジェクトと、各描画領域を表す Axes オブジェクトを作成・返却する機能。
- グリッド状のサブプロットを生成する
- 行数と列数を指定して、グリッド形式の複数サブプロットを自動的に作成する機能。
- 複数のグラフ領域を作成する
- 1つの呼び出しで複数の描画エリアを準備し、同一の Figure 内に並べることができる機能。
- マルチプロットを簡単に作る
- 複数のプロット領域を効率的に配置・生成するための使いやすい手段。
- サブグラフ領域を配置する
- 図の中に複数の小さなグラフエリアを整然と配置するための機能。
- サブプロットのレイアウトを一括作成する
- 行と列を指定して、サブプロットの全体的なレイアウトを一度に用意する機能。
- 1回の呼び出しで複数のAxesを返す関数
- plt.subplots は 1 回の呼び出しで Figure と Axes の集合を返し、各サブプロットを描画可能にする。
- Matplotlib のサブプロット作成機能
- Matplotlib でサブプロットを作るための代表的な機能セットを指す総称的な表現。
plt.subplotsの対義語・反対語
- plt.figure
- サブプロットを自動的に作成せず、1つのFigure(図全体)を作成する状態。複数のAxesを並べるsubplotsとは対照的です。
- 単一図
- 1つの図だけを描く状態。複数のサブプロットを持たず、全体を1つのグラフとして扱います。
- サブプロットなし
- サブプロットを作成せず、1つのグラフ(Axes)だけを用いて描画する考え方。
- 単一Axes
- 1つのAxesオブジェクトだけを用いて描画する状態。複数のAxesを生成するsubplotsの対義語的なイメージです。
- 単一グラフ
- 1つのグラフ(図)に描画を絞る状態。subplotを使わず、1つのグラフで完結します。
- 1x1レイアウト
- 1行1列のサブプロット配置。実質的には1つのグラフを表示するレイアウトのことを指します。
plt.subplotsの共起語
- Matplotlib
- Pythonのデータ可視化ライブラリの総称。plt.subplotsはこのライブラリの機能の一部です。
- Figure
- 図全体のキャンバス。plt.subplotsはこのFigureオブジェクトを返します。
- Axes
- 実際のグラフ領域。座標軸とデータを描く領域です。
- fig
- Figureオブジェクトを指す通称・変数名の一つ。
- axes
- Axesオブジェクトの集合(または1つのAxes)。
- subplots
- 複数のサブプロットを一度に作成する関数。
- add_subplot
- Figureに新しいAxesを追加する操作。
- subplot_kw
- Axes作成時の追加設定を辞書で渡す引数。
- gridspec
- GridSpecオブジェクト。サブプロットの柔軟な配置を実現します。
- gridspec_kw
- GridSpecの配置設定を辞書で渡す引数。
- nrows
- 作成するサブプロットの行数。
- ncols
- 作成するサブプロットの列数。
- sharex
- 複数のAxesでx軸を共有する設定。
- sharey
- 複数のAxesでy軸を共有する設定。
- figsize
- 図の横幅と高さをインチで指定する設定。
- dpi
- 図の解像度(1インチあたりのドット数)を指定する設定。
- facecolor
- Figureの背景色を指定します。
- edgecolor
- Figureの枠線の色を指定します。
- constrained_layout
- 自動的にサブプロットの間隔を最適化するレイアウト方針。
- tight_layout
- 自動で余白を調整するレイアウト手法。
- squeeze
- 返り値の次元を自動的に削減する設定。
- suptitle
- Figureの上部に全体タイトルを表示する機能。
- subplots_adjust
- サブプロット間の余白を手動で調整する関数。
- AxesSubplot
- Axesの具体的なクラス名(典型的にはAxesSubplot)。
- ndarray
- 複数のAxesが返る場合、NumPyの配列(ndarray)になることがあるデータ型。
plt.subplotsの関連用語
- plt.subplots
- Matplotlibの高機能なサブプロット作成関数。1つのFigureに複数のAxesを一括で配置する。返り値は通常 fig, axs の組。nrows×ncolsのグリッド状にサブプロットが配置される。
- Figure
- 図全体を表すオブジェクト。サブプロットやタイトル、カラーマップなどをまとめて管理する容れ物。
- Axes
- 1つの描画領域を表すオブジェクト。データの描画メソッドや軸・目盛・ラベルが含まれ、複数のAxesをFigureに配置できる。
- AxesSubplot
- Axesのサブクラスで、サブプロットとして実際に描画を担当するオブジェクトの型名。plt.subplotsの出力でよく使われる。
- ax
- AxesSubplotオブジェクトを指す通称の変数名。複数のサブプロットを扱う場合によく用いられる。
- nrows
- サブプロットの行数を指定する引数。
- ncols
- サブプロットの列数を指定する引数。
- figsize
- Figureの横幅と高さをインチ単位で指定する引数。
- dpi
- 1インチあたりのドット数。解像度を決める設定。
- sharex
- 複数のサブプロット間でX軸を共有する設定。
- sharey
- 複数のサブプロット間でY軸を共有する設定。
- squeeze
- 返り値のAxesの配列の形を自動的に単純化するかどうかを制御する引数。Trueで1つならAxesを直接返す。
- subplots_adjust
- Figure内のサブプロット間の間隔を手動で調整するメソッド。
- tight_layout
- サブプロット間のスペースを自動的に最適化し、重なりを防ぐ機能。
- gridspec
- より自由度の高いレイアウト設計を可能にする格子配置システム。
- GridSpec
- gridspecを実現するクラス。サブプロットの配置を細かく指定できる。
- suptitle
- Figure全体の上部に表示するタイトル。全サブプロットに適用される共通タイトル。
- add_subplot
- 既存のFigureに1つのAxesを追加するメソッド。
- subplot
- Figure内の1つのサブ領域。Axesとして表現されることが多い。
- plot
- Axes上に線グラフを描画する基本メソッド。
- scatter
- Axes上に散布図を描画するメソッド。
- bar
- Axes上に棒グラフを描画するメソッド。
- hist
- Axes上にヒストグラムを描画するメソッド。
- imshow
- 配列データを画像として表示するメソッド。
- colorbar
- カラーマップとデータ値の対応を示すカラー・バーを追加する補助要素。
- legend
- グラフ内の各データ系列の説明(凡例)を表示する機能。
- title
- サブプロットのタイトルを設定するメソッド。
- xlabel
- X軸のラベルを設定するメソッド。
- ylabel
- Y軸のラベルを設定するメソッド。
- axis
- 軸の表示設定全般を操作するメソッド。範囲や目盛の設定を含むことが多い。
- xlim
- X軸の表示範囲を指定する設定。
- ylim
- Y軸の表示範囲を指定する設定。
- projection
- 3Dなど、座標系を特殊化して描画する設定。主に3Dプロットで使われる。



















