Matplotlib에서는 LaTeX 스타일의 수학 텍스트(mathtext) 문법을 활용하면 축 레이블이나 범례에 손쉽게 아래 첨자(subscript)와 위 첨자(superscript)를 표현할 수 있습니다. 이 글에서는 실제 예제 코드를 통해 그 방법을 단계별로 살펴보겠습니다.
구현 단계
NumPy를 사용하여 x, y 데이터 포인트를 생성합니다.
위 첨자 텍스트가 포함된 레이블과 함께 x, y 데이터를 플롯합니다.
아래 첨자가 들어간 텍스트로
xlabel()과ylabel()을 설정합니다.legend()메서드를 사용하여 플롯에 범례를 배치합니다.서브플롯 사이와 주변의 여백(padding)을 조정합니다.
show()메서드를 호출하여 그림을 화면에 표시합니다.
예제 코드
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
x = np.linspace(1, 10, 1000)
y = np.exp(x)
plt.plot(x, y, label=r'$e^x$', c="red", lw=2)
plt.xlabel("$X_{axis}$")
plt.ylabel("$Y_{axis}$")
plt.legend(loc='upper left')
plt.show()핵심 문법 설명
Matplotlib의 수학 텍스트 기능은 달러 기호($...$)로 감싼 문자열에 적용됩니다. 이때:
아래 첨자: 밑줄(
_) 뒤에 중괄호로 내용을 감싸면 됩니다. 예:$X_{axis}$→ Xaxis위 첨자: 캐럿(
^) 뒤에 중괄호로 내용을 감싸면 됩니다. 예:$e^x$→ ex
문자열 앞에 r(raw string)을 붙이면 백슬래시 등 특수 문자가 의도대로 해석되므로, 수학 텍스트 작성 시 붙여주는 것이 좋습니다.
실행 결과
위 코드를 실행하면 빨간색 곡선(ex)이 그려지고, 왼쪽 상단에는 'ex'라는 범례가 표시되며, x축과 y축 레이블에는 각각 Xaxis, Yaxis 형태의 아래 첨자가 적용된 것을 확인할 수 있습니다.