1. ホーム
  2. python

[解決済み] matplotlib でサブプロット間のギャップを削除する方法

2022-04-26 03:48:16

質問

以下のコードでは、サブプロット間に隙間ができてしまいます。 どうすればサブプロット間の隙間をなくし、画像をタイトなグリッドにすることができますか?

import matplotlib.pyplot as plt

for i in range(16):
    i = i + 1
    ax1 = plt.subplot(4, 4, i)
    plt.axis('on')
    ax1.set_xticklabels([])
    ax1.set_yticklabels([])
    ax1.set_aspect('equal')
    plt.subplots_adjust(wspace=None, hspace=None)
plt.show()

解決方法は?

を使用することができます。 グリッドスペック で軸の間隔を制御します。他にも 情報 をご覧ください。

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec

plt.figure(figsize = (4,4))
gs1 = gridspec.GridSpec(4, 4)
gs1.update(wspace=0.025, hspace=0.05) # set the spacing between axes. 

for i in range(16):
   # i = i + 1 # grid spec indexes from 0
    ax1 = plt.subplot(gs1[i])
    plt.axis('on')
    ax1.set_xticklabels([])
    ax1.set_yticklabels([])
    ax1.set_aspect('equal')

plt.show()

<イグ