プログラミングの用語一覧へ
このページの目次

plt.figureとは?

読み方:plt.figure

最終更新:2026/08/18

3秒でわかる

matplotlib で描画用のキャンバスを新しく作る関数。サイズや解像度を指定し、グラフを何枚も別々に描き分けるときの起点になります。

もう少し詳しく

どういうものか

plt.figure は matplotlib で図全体の入れ物を作る関数です。ここで言う図とは、軸やタイトルや凡例を含めた1枚のキャンバス全体を指し、その中に置かれる個々のグラフ領域は軸 (Axes) と呼ばれます。figsize で横縦の大きさをインチで、dpi で1インチあたりの画素数を指定します。

plt.plot をいきなり呼んでも図は自動で作られますが、その場合は既定のサイズになり、複数枚を作り分けることもできません。

なぜ必要か

分析の結果をレポートやスライドに載せるとき、既定サイズのままだと軸ラベルが潰れたり、縦横比が内容と合わなかったりします。figure を先に呼んでおけば、出力する場所に合わせた寸法を最初に決められます。また、ループの中で複数のグラフを保存するとき、明示的に図を作らないと前の図に上書きされ、全部同じ絵になります。

具体例

サイズと解像度を指定して1枚描き、ファイルに保存する例です。

import matplotlib.pyplot as plt months = ["1月", "2月", "3月", "4月"] sales = [120, 180, 90, 210] plt.figure(figsize=(8, 4), dpi=120) <a href="/glossary/plt-bar" class="text-primary font-medium underline underline-offset-2 hover:text-primary-dark">plt.bar</a>(months, sales) plt.title("月別売上") plt.ylabel("万円") plt.savefig("sales.png", bbox_inches="tight") plt.close()

複数枚を独立して描くなら、1枚ごとに figureclose で挟みます。

for name, data in groups.items(): plt.figure(figsize=(6, 3)) <a href="/glossary/plt-plot" class="text-primary font-medium underline underline-offset-2 hover:text-primary-dark">plt.plot</a>(data) plt.savefig(f"{name}.png") plt.close()

つまずきやすいところ

plt.show のあとに plt.savefig を書くと、白紙の画像が保存されます。show の時点で現在の図が空になるためで、保存が先です。

ループで close を忘れると図がメモリに残り続け、20枚を超えたあたりで警告が出ます。処理が重くなる原因にもなります。

figsize の単位がインチである点も見落とされがちです。ピクセルで指定したい場合は、幅のピクセル数を dpi で割った値を渡します。1200ピクセル幅で dpi が120なら figsize=(10, ...) です。

似た用語との違い

plt.figure は入れ物を1つ作るだけ、plt.subplots は入れ物と軸をまとめて作り、figax の2つを返します。1枚に複数のグラフを並べるなら subplots、単純に1枚だけ描くなら figure で足ります。オブジェクト指向の書き方に慣れるなら subplots から入るほうが後で楽です。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地plt.figureプログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

データ分析コースの全編を見る