Matplotlib에서 서브플롯(subplot) 간의 수직(세로) 공간을 조절하려면, tight layout(자동 여백 조정)을 적용하지 않은 상태에서 subplots_adjust() 메서드에 hspace=1을 지정하면 됩니다.
구현 단계
- 그림(figure) 크기를 설정하고 서브플롯 사이 및 주변의 여백(padding)을 조정합니다.
- NumPy를 사용하여 x, y 데이터 포인트를 생성합니다.
- nrows와 ncols를 지정하여 4개의 축(ax)을 가진 figure와 서브플롯을 만듭니다.
- 서브플롯 간의 세로 간격을 조절하기 위해 hspace=1을 설정합니다.
- show() 메서드를 호출하여 그림을 화면에 표시합니다.
예제 코드
import numpy as np import matplotlib.pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True x = np.linspace(0, 2 * np.pi, 400) y = np.sin(x ** 2) fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(nrows=2, ncols=2) fig.subplots_adjust(hspace=1) plt.show()
참고: hspace 값은 서브플롯 행 사이의 간격을 평균 축 높이에 대한 비율로 지정합니다. 값이 클수록 서브플롯 사이의 세로 공간이 넓어지며, 필요에 따라 0.5, 1.5 등 다양한 값을 시도해 원하는 레이아웃을 만들 수 있습니다. 가로 간격을 조절할 때는 같은 메서드에서 wspace 파라미터를 함께 사용하면 됩니다.
실행 결과
