【Python】matplotlibでグラフのサイズを変更する方法

  • URLをコピーしました!

matplotlibでグラフのサイズを変更する方法を紹介します。

レポートやプレゼンでちょうど良いサイズ のグラフを出力するための方法をわかりやすく解説していきます。

スクロールできます
目的講座名到達点レベル/前提想定時間こんな人に評価
現場志向でPython×DSを通しで習得米国データサイエンティストがやさしく教えるデータサイエンスのためのPython講座Python基礎〜NumPy/Pandas/
Matplotlib/Seaborn、
Docker+JupyterLabでの環境構築までハンズオン
初心者〜初級(Mac推奨/軽いプログラミング経験があると◎)24時間Pythonの基礎固めは完了し、ステップアップをしたいかた
広く一式を“ブートキャンプ”形式で学ぶ【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜統計・Python(Numpy/Pandas)〜機械学習(scikit-learn/TensorFlow)・可視化・Tableauまで網羅初心者OK26時間データサイエンスとは何をする職業なのか知りたいかた
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時間ブートキャンプ〜
\楽天ポイント5倍セール!/
楽天市場
よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

エンジニア。20代。組み込みエンジニアとして働き始めるも、働き方や業務内容に限界を感じ、 AI,Web3エンジニアを目指して勉強中。 エンジニアとして思うことや、学んだことを発信します。

目次