Matplotlib으로 그래프를 그릴 때 하단에 불필요한 여백이 생기는 경우가 있습니다. 이러한 공백을 제거하려면 tight layout 또는 autoscale_on=False 옵션을 활용하면 됩니다.
구현 단계
그림(figure) 크기를 설정하고 서브플롯 사이 및 주변의 패딩을 조정합니다.
새 그림을 생성하거나 기존 그림을 활성화합니다.
서브플롯 배치의 일부로 그림에 축(ax)을 추가합니다.
plot() 메서드를 사용하여 데이터 포인트 목록을 그립니다.
show() 메서드를 사용하여 그림을 화면에 표시합니다.
주요 옵션 설명
figure.autolayout을 True로 설정하면 레이블이나 제목 등의 요소가 잘리지 않도록 Matplotlib가 자동으로 여백을 조절해 줍니다. 또한 add_subplot() 호출 시 autoscale_on=False를 지정하고 xlim, ylim 범위를 직접 지정하면 축 자동 스케일링으로 인해 발생하는 하단 여백을 방지할 수 있습니다.
예제 코드
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()
실행 결과
아래와 같이 그래프 하단의 여백 없이 데이터 영역에 딱 맞춘 깔끔한 출력 결과를 확인할 수 있습니다.
