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

Matplotlib 축 레이블과 범례에 아래 첨자(서브스크립트) 텍스트 넣는 방법

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 형태의 아래 첨자가 적용된 것을 확인할 수 있습니다.