Matplotlib サブプロット間の間隔を調整する方法
多くの場合、サブプロットを使用して、Matplotlib で複数のプロットを並べて表示できます。残念ながら、これらのサブプロットはデフォルトで重複する傾向があります。
この問題を解決する最も簡単な方法は、Matplotlib Tight_layout()関数を使用することです。このチュートリアルでは、この機能を実際に使用する方法を説明します。
サブプロットの作成
次の 2 列 2 行の 4 つのサブプロットの配置を考えてみましょう。
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) #display subplots plt. show ()
サブプロットが少し重なっていることに注目してください。
Tight_layout() を使用してサブプロットの間隔を調整する
この重複する問題を解決する最も簡単な方法は、Matplotlib Tight_layout()関数を使用することです。
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout () #display subplots plt. show ()
サブプロット タイトルの間隔を調整する
場合によっては、サブプロットごとにタイトルを付けることもできます。残念ながら、 Tight_layout()関数でもサブプロットのタイトルが重なる傾向があります。
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout () #define subplot titles ax[0, 0]. set_title ('First Subplot') ax[0, 1]. set_title ('Second Subplot') ax[1, 0]. set_title ('Third Subplot') ax[1, 1]. set_title ('Fourth Subplot') #display subplots plt. show ()
これを修正する方法は、 h_pad引数を使用してサブプロット間の高さのパディングを増やすことです。
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout (h_pad= 2 ) #define subplot titles ax[0, 0]. set_title ('First Subplot') ax[0, 1]. set_title ('Second Subplot') ax[1, 0]. set_title ('Third Subplot') ax[1, 1]. set_title ('Fourth Subplot') #display subplots plt. show ()
タイトル全体の間隔を調整する
全体的なタイトルがある場合は、 subplots_adjust()関数を使用して、サブプロットのタイトルと重ならないようにすることができます。
import matplotlib.pyplot as plt #define subplots fig, ax = plt. subplots (2, 2) fig. tight_layout (h_pad= 2 ) #define subplot titles ax[0, 0]. set_title ('First Subplot') ax[0, 1]. set_title ('Second Subplot') ax[1, 0]. set_title ('Third Subplot') ax[1, 1]. set_title ('Fourth Subplot') #add overall title and adjust it so that it doesn't overlap with subplot titles fig.suptitle(' Overall Title ') plt.subplots_adjust(top= 0.85 ) #display subplots plt. show ()
ここでその他の Matplotlib チュートリアルを見つけることができます。