matplotlibでグラフのサイズを変更する方法を紹介します。
レポートやプレゼンでちょうど良いサイズ のグラフを出力するための方法をわかりやすく解説していきます。
目的 | 講座名 | 到達点 | レベル/前提 | 想定時間 | こんな人に | 評価 |
---|---|---|---|---|---|---|
現場志向でPython×DSを通しで習得 | 米国データサイエンティストがやさしく教えるデータサイエンスのためのPython講座 | Python基礎〜NumPy/Pandas/ Matplotlib/Seaborn、 Docker+JupyterLabでの環境構築までハンズオン | 初心者〜初級(Mac推奨/軽いプログラミング経験があると◎) | 24時間 | Pythonの基礎固めは完了し、ステップアップをしたいかた | |
広く一式を“ブートキャンプ”形式で学ぶ | 【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜 | 統計・Python(Numpy/Pandas)〜機械学習(scikit-learn/TensorFlow)・可視化・Tableauまで網羅 | 初心者OK | 26時間 | データサイエンスとは何をする職業なのか知りたいかた | |
AI/機械学習の入門(Colab対応・数学やさしめ) | みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習 【2025年最新版】 | Python基礎+機械学習の基本(文字認識・株価分析などの小プロジェクト)をColabで体験 | 超初心者〜初級(中学数学レベルで可) | 10時間 | 手を動かしてAIを学習したいかた |
はじめに

グラフは適切なサイズで出力することが必要です。
小さすぎると細かい情報が見えなくなり、
大きくすぎると無駄なスペースを取ってしまうことがあります。
グラフのサイズを変更する方法はいくつかありますが、
今回は以下の3つについて紹介していきます。
- plt.figure()
- plt.subplots()
- set_size_inches()
それではさっそくそれぞれについて紹介していきます!
plt.figure()でグラフサイズの変更
plt.figure()
を使用して、グラフサイズを変更できます。
引数のfigsize
に変更したいグラフサイズを指定します。
plt.figure(figsize=(width, height))
幅(width)と高さ(height)を単位インチで指定します。
デフォルトは(6.4, 4.8)になっています。
サンプルコードは以下の通りです。
import matplotlib.pyplot as plt
# データの準備
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# figsizeを変更せずにグラフをプロット
plt.plot(x, y)
# 幅 12.8 高さ 9.6 インチに指定
plt.figure(figsize=(12.8, 9.6))
plt.plot(x, y)
# グラフを表示
plt.show()
実行結果


グラフサイズが2倍にすることができました。
plt.subplots()でグラフサイズの変更
plt.subplots()
でもグラフサイズを変更できます。
上で紹介したplt.figure()
と同様の方法でグラフサイズを変更します。
plt.subplots(figsize=(width, height))
plt.figure()
と同様、幅(width)と高さ(height)を単位インチで指定します。
サンプルコードは以下の通りです。
import matplotlib.pyplot as plt
# データの準備
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
fig, axs = plt.subplots(1, 2) # 1行2列のサブプロットを作成
axs[0].plot(x, y)
axs[1].plot(x, y)
# 1行2列の 幅 12.8 高さ 9.6 インチのサブプロットを作成
fig, axs = plt.subplots(1, 2, figsize=(12.8, 9.6))
axs[0].plot(x, y)
axs[1].plot(x, y)
# グラフを表示
plt.show()
実行結果


set_size_inches()でグラフサイズの変更
set_size_inches()
でもグラフのサイズを変更できます。
ただし、上で紹介した2つとはサイズの変更方法が少し異なります。
何が違うかというと、グラフのサイズを変更するタイミングに違いがあります。
plt.figure()
とplt.subplots()
はグラフをプロットする前にグラフのサイズを指定していますが、
set_size_inches()
はグラフをプロットした後にグラフのサイズを変更します。
set_size_inches()
でグラフサイズを変更する方法は以下です。
fig = plt.gcf()
fig.set_size_inches(width, height)
plt.gcf()
で現在のグラフを取得しています。
次にset_size_inches()
に幅(width)と高さ(height)を単位インチで指定し、グラフのサイズを変更します。
サンプルコードは以下の通りです。
import matplotlib.pyplot as plt
# データの準備
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# まずはfigsizeを変更せずにグラフをプロット
plt.plot(x, y)
# グラフを表示
plt.show()
# グラフをプロット
plt.plot(x, y)
# 現在のグラフを取得
fig = plt.gcf()
# 取得したグラフのサイズを幅 12.8 高さ 9.6 インチに指定
fig.set_size_inches(12.8, 9.6)
# グラフを表示
plt.show()
実行結果


まとめ
今回はグラフサイズを変更する方法を、3通り紹介しました。状況に合わせて、使い分けていただければと思います。
データ分析の分野は、データの見せ方にもこだわる必要があり、その際に画像サイズの変更はほぼ必須な操作です。
ぜひ自分の思い通りにグラフサイズを変更できるようになってください!
これまで読んでくださりありがとうございます。
参考(おすすめ教材)
米国データサイエンティストがやさしく教えるデータサイエンスのためのPython講座 【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜