Matplotlibでサブプロットの周囲に境界線(枠線)を描画する方法
Matplotlibでサブプロットの周囲に境界線を描きたい場合は、Rectangle(長方形)パッチを活用するのが便利です。この記事では、実際のコード例とともに、その手順をわかりやすく解説します。
実装の手順
図(figure)のサイズを設定し、サブプロット間および周囲の余白を調整します。
subplot(121) を使って、現在の図に1つ目のサブプロットを追加します。
サブプロットの軸情報(axis)を取得します。
アンカーポイント xy と、width(幅)・height(高さ)を指定して長方形を定義します。
ステップ4で作成した長方形パッチを、現在のサブプロットに追加します。
クリッピングの有効/無効を設定します(ここでは無効にして、軸の外側にも線が描かれるようにします)。
subplot(122) を使って、2つ目のサブプロットを追加します。
各サブプロットにタイトルを設定します。
show() メソッドを呼び出して、図を表示します。
コード例
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
sub = plt.subplot(121)
ax = sub.axis()
rec = plt.Rectangle((ax[0] - 0.7, ax[2] - 0.2), (ax[1] - ax[0]) + 1, (ax[3] - ax[2]) + 0.4, fill=False, lw=2, linestyle="dotted")
rec = sub.add_patch(rec)
rec.set_clip_on(False)
plt.title("with border")
sub = plt.subplot(122)
plt.title("without border")
plt.show()実行結果
上記のコードを実行すると、左側のサブプロットには点線の境界線が描画され、右側のサブプロットには境界線がない状態で並べて表示されます。これにより、境界線の有無による見た目の違いを簡単に確認できます。

-
Matplotlibの等高線図に軸線や原点を描画する方法
Matplotlibで等高線図を描画する際、グラフ上に軸線や原点(x=0、y=0)を明示したいケースがあります。本記事では、contourf()メソッドで等高線図を作成し、axhline()でy=0の水平線、axvline()でx=0の垂直線を重ねて描画する方法を解説します。 実装の手順 numpyを使用して、x、y、zのデータポイントを作成します。 plt.axis(off)メソッドを使って、デフォルトの軸を非表示に設定します。 contourf()メソッドにx、y、zのデータポイントを渡して、塗りつぶし等高線図を描画します。 x=0とy=0の線を赤色でプロットします。 show()メソッ
-
Python Matplotlib:サブプロットでX軸目盛り(xticks)を設定する方法
Matplotlibのsubplot機能を使うと、1つの図(figure)をnrows×ncolsのグリッド状に分割して複数のグラフを並べて表示できます。さらにplt.xticksを組み合わせることで、各サブプロットのX軸目盛りの位置を自由に制御することが可能です。 実装手順 1本目と2本目の折れ線用に、それぞれデータのリストを作成します。 現在の図にサブプロットを追加します(nrow=1、ncols=2、index=1)。 破線(dashed)スタイルで1本目の折れ線を描画します。 自動スケーリングのマージンを設定します(0.2)。 X軸目盛りを偶数の位置(2, 4, 6, 8, 10)に