matplotlibでグラフのサイズを変更する方法を紹介します。
はじめに
グラフは適切なサイズで出力することが必要です。
小さすぎると細かい情報が見えなくなり、
大きくすぎると無駄なスペースを取ってしまうことがあります。
グラフのサイズを変更する方法はいくつかありますが、
今回は以下の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) # 2行1列のサブプロットを作成
axs[0].plot(x, y)
axs[1].plot(x, y)
# 2行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時間ブートキャンプ〜他のUdemyの講座が気になる方はこちら