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

Matplotlibのsubplot2gridを使ってサブプロット間の間隔を広げる方法

subplot2gridGridSpecを使用してMatplotlibのサブプロット間の間隔を広げるには、以下の手順に従います。

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

  • 図内にサブプロットを配置するためのグリッドレイアウト(GridSpec)を作成します。

  • update()メソッドを使って、グリッドのサブプロットパラメータ(wspace:横方向の余白、hspace:縦方向の余白)を更新します。

  • plt.subplot()で現在の図にサブプロットを追加します。

  • 図を表示するにはshow()メソッドを使用します。

コード例

from matplotlib import pyplot as plt

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

ax = plt.GridSpec(2, 2)
ax.update(wspace=0.5, hspace=0.5)

ax1 = plt.subplot(ax[0, :])
ax2 = plt.subplot(ax[1, 0])
ax3 = plt.subplot(ax[1, 1])

plt.show()

解説

この例では、GridSpec(2, 2)によって2行2列のグリッドを作成しています。wspace=0.5hspace=0.5を指定することで、それぞれサブプロット間の横方向・縦方向の余白がデフォルトより広く設定されます。また、ax[0, :]のようにスライス表記を使うことで、1つ目のサブプロットを上段いっぱいに配置し、下段に2つのサブプロットを並べた柔軟なレイアウトを実現しています。

出力結果

上記のコードを実行すると、サブプロット間に適度な間隔が設けられたグラフが表示されます。値を大きくするほど間隔が広がり、小さくするほどサブプロット同士が接近します。

  1. Matplotlibで凡例を行ごとに2列に整列させる方法

    Matplotlibの凡例(legend)を2列に整列させて表示したい場合、ncolパラメータを使うことで簡単に実現できます。以下の手順で説明します。手順図(figure)のサイズを設定し、サブプロット周辺の余白(パディング)を調整します。plot()メソッドを使用して、line1、line2、line3というラベルを持つ線を描画します。ncol=2を指定してlegend()メソッドを呼び出し、2列構成の凡例を図上に配置します。show()メソッドで図を表示します。コード例from matplotlib import pyplot as plt plt.rcParams[figure.figs

  2. Matplotlibでサブプロットの目盛りラベルの密度を下げる方法

    Matplotlibでグラフを描画する際、目盛りラベルが多すぎると表示が混雑して読みにくくなることがあります。この問題を解決するには、density(密度)変数に小さな値を設定することで、目盛りラベルの密度を下げることができます。手順目盛りの間隔を制御するための変数 density を初期化します。NumPyを使用して x および y のデータポイントを作成します。plot() メソッドを使って x と y のデータポイントをプロットします。xticks() メソッドを使用して、X軸の目盛り位置とラベルを設定します。show() メソッドで図を表示します。コード例import numpy as