Python
 Computer >> コンピューター >  >> プログラミング >> Python

Matplotlibでグラフ下部の余白を削除する方法

Matplotlibのグラフ下部にできてしまう余白(空白)を削除したい場合は、tight_layout(タイトレイアウト)または autoscale_on=False を活用することで解決できます。

実装の手順

  • 図(figure)のサイズを設定し、サブプロット間および周囲のパディングを調整します。

  • 新しい図を作成するか、既存の図をアクティブにします。

  • サブプロット構成の一部として、図に軸オブジェクト ax を追加します。このとき autoscale_on=False を指定し、x軸・y軸の表示範囲(xlim / ylim)を明示的に設定します。

  • plot() メソッドを使って、データポイントのリストをプロットします。

  • 最後に show() メソッドを呼び出して、図を画面に表示します。

コード例

from matplotlib import pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

fig = plt.figure()

ax = fig.add_subplot(111, autoscale_on=False, xlim=(1, 5), ylim=(0, 10))
ax.plot([2, 5, 1, 2, 0, 7])

plt.show()

実行結果

Matplotlibでグラフ下部の余白を削除する方法

ポイント解説

figure.autolayout を True に設定すると、ラベルやタイトルが図の枠外にはみ出さないよう、Matplotlibが自動的にレイアウトを調整してくれます。また、autoscale_on=False とすることで自動スケーリングが無効になり、xlim・ylim で指定した範囲どおりに描画されるため、意図しない余白が生まれにくくなります。グラフを画像として保存する際は、savefig() の引数に bbox_inches='tight' を指定する方法も有効です。

  1. Matplotlibで図のマージン(余白)を設定する方法をわかりやすく解説

    Matplotlibで作成するグラフの余白(マージン)を調整したい場合、margins()メソッドを使うことで簡単に設定できます。この記事では、実際のコード例とともに、マージン設定の基本的な手順を紹介します。margins()メソッドとはmargins()は、プロット領域の周囲にどれだけの余白を設けるかを指定するメソッドです。引数としてxやyに0〜1の範囲の値を渡すことで、軸方向ごとのマージン率を制御できます。例えばmargins(x=0, y=0)と指定すると、データ範囲ぴったりにプロットが表示され、余白がなくなります。実装手順figureサイズを設定し、サブプロット間および周囲のパディング

  2. 【Matplotlib】サブプロット間の余白を削除する方法

    Matplotlibでサブプロット間のスペース(余白)を削除したい場合は、GridSpec(3, 3)クラスを使用し、グリッド状のレイアウトに沿ってAxes(軸)をサブプロットとして配置するのが効果的です。実装の手順図(figure)のサイズを設定し、サブプロット間および周囲のパディングを調整します。図の中にサブプロットを配置するためのグリッドレイアウトを追加します。グリッドのサブプロットパラメータを更新します(wspace・hspaceの調整)。グリッド仕様の次元の範囲でループ処理を行います。現在の図にサブプロットを追加します。各サブプロットのアスペクト比を設定します。図を表示するには、sh