Matplotlib의 Axes(축) 객체란?
Matplotlib에서 Axes 클래스는 그래프를 구성하는 대부분의 요소를 담고 있는 핵심 객체입니다. 여기에는 Axis(축), Tick(눈금), Line2D(선), Text(텍스트), Polygon(다각형) 등이 포함되며, 데이터가 표시되는 좌표계(coordinate system) 역시 이 객체가 설정합니다.
쉽게 말해, Figure가 전체 그림을 담는 캔버스라면 Axes는 실제로 데이터가 그려지는 개별 플롯 영역이라고 할 수 있습니다. 따라서 Matplotlib로 시각화를 다룰 때 Axes 객체의 구조를 이해하는 것이 매우 중요합니다.
구현 단계
- 그림 크기(figure size)를 설정하고 서브플롯 사이 및 주변의 여백(padding)을 조정합니다.
- rcParams를 사용하여 축 선의 두께(linewidth)를 지정합니다.
- 현재 Figure에 새로운 Axes를 추가하고 이를 현재 축(current axes)으로 만듭니다.
- Axes의 스파인(spine, 테두리 선) 색상을 각 방향별로 설정합니다.
- show() 메서드를 호출하여 그림을 화면에 표시합니다.
예제 코드
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
plt.rcParams['axes.linewidth'] = 5
ax = plt.axes()
ax.spines['bottom'].set_color('yellow')
ax.spines['top'].set_color('red')
ax.spines['right'].set_color('black')
ax.spines['left'].set_color('blue')
plt.show()실행 결과

위 코드를 실행하면 아래쪽 스파인은 노란색, 위쪽은 빨간색, 오른쪽은 검은색, 왼쪽은 파란색으로 각각 다르게 표시됩니다. 이처럼 ax.spines 딕셔너리에 접근하면 네 방향의 테두리 선을 자유롭게 꾸밀 수 있으며, rcParams의 axes.linewidth 값을 조절해 테두리 두께도 손쉽게 변경할 수 있습니다.