Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib에서 축 제한 설정 시 패딩(여백) 유지하는 방법

Matplotlib에서 xlim(), ylim() 등으로 축 제한(axis limit)을 설정하면 그래프 주변의 여백(padding)이 잘려 없어지는 경우가 있습니다. 이때 패딩을 그대로 유지하려면 자동 레이아웃(tight layout) 기능을 비활성화해야 합니다. 즉, plt.rcParams["figure.autolayout"] = False로 설정하면 축 제한을 변경하더라도 원래의 여백이 보존됩니다.

구현 단계

  • figure.figsize로 그림 크기를 설정하고, 서브플롯 사이 및 주변의 패딩을 조정합니다.
  • numpy를 사용하여 x, y 데이터 포인트를 생성합니다.
  • plot() 메서드로 x, y 데이터를 플롯합니다.
  • xlim()ylim()으로 x축, y축의 표시 범위를 설정합니다.
  • show() 메서드를 호출하여 그림을 화면에 표시합니다.

예제 코드

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = False

x = np.linspace(-10, 10, 100)
y = np.sin(x) ** 2

plt.plot(x, y)

plt.xlim([0, max(x)+0.125])
plt.ylim([0, max(y)+0.125])

plt.show()

코드 설명

  • np.linspace(-10, 10, 100): -10부터 10까지 균일한 간격의 100개 데이터 포인트를 생성합니다.
  • y = np.sin(x) ** 2: 사인 함수의 제곱 값을 y축 데이터로 사용합니다.
  • plt.xlim([0, max(x)+0.125]): x축의 최솟값을 0으로, 최댓값을 최대 데이터 값보다 약간 크게 지정하여 오른쪽에 작은 여백을 남깁니다.
  • plt.ylim([0, max(y)+0.125]): y축도 마찬가지로 위쪽에 여백을 확보합니다.

실행 결과

위 코드를 실행하면 다음과 같은 그래프가 출력됩니다. 축 제한이 적용되었음에도 그래프 주변의 패딩이 그대로 유지되는 것을 확인할 수 있습니다.

Matplotlib에서 축 제한 설정 시 패딩(여백) 유지하는 방법