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

Matplotlib에서 나만의 LaTeX 프리앰블을 작성하는 방법

Matplotlib에서 나만의 LaTeX 프리앰블 작성하기

Matplotlib은 LaTeX 마크업을 지원하여 그래프의 제목, 축 레이블, 범례 등에 수학 기호와 공식을 고품질로 렌더링할 수 있습니다. 이 글에서는 LaTeX 형식의 텍스트를 활용하는 기본 절차와, 필요하다면 자신만의 LaTeX 프리앰블(preamble)을 설정하는 방법까지 단계별로 살펴보겠습니다.

1단계: 기본 설정

먼저 그림(figure)의 크기를 지정하고, 서브플롯 사이와 주변의 여백(padding)이 자동으로 조정되도록 설정합니다.

2단계: 데이터 생성

numpy를 사용해 x축과 y축에 쓸 데이터 포인트를 생성합니다.

3단계: LaTeX 형식으로 그래프 그리기

plot() 메서드로 x, y 데이터를 그리되, 레이블에 LaTeX 형식을 적용합니다. 예를 들어 label="$y=e^{x}$"처럼 달러 기호($) 사이에 수학 표현식을 넣으면 해당 부분이 수식으로 렌더링됩니다.

4단계: 범례 추가

legend() 메서드를 호출해 그래프에 범례를 표시합니다.

5단계: 그래프 출력

show() 메서드로 완성된 그림을 화면에 표시합니다.

전체 예제 코드

import numpy as np
from matplotlib import pyplot as plt

# 그림 크기 및 레이아웃 설정
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# 데이터 생성
x = np.linspace(-10, 10, 100)
y = np.exp(x)

# LaTeX 형식의 레이블로 그래프 그리기
plt.plot(x, y, color='red', label="$y=e^{x}$")
plt.legend(loc='upper right')

plt.show()

실행 결과

Matplotlib에서 나만의 LaTeX 프리앰블을 작성하는 방법

위 코드를 실행하면 빨간색 지수 함수 곡선이 그려지고, 오른쪽 위 범례에 LaTeX으로 렌더링된 y = ex 수식이 표시됩니다.

사용자 정의 LaTeX 프리앰블 설정하기

더 복잡한 수식이나 특수 패키지가 필요하다면 text.usetex 옵션을 활성화하고, text.latex.preamble에 원하는 패키지를 직접 지정할 수 있습니다. 단, 이 기능을 사용하려면 시스템에 LaTeX이 설치되어 있어야 합니다.

plt.rcParams['text.usetex'] = True
plt.rcParams['text.latex.preamble'] = r'\usepackage{amsmath}'

이렇게 설정하면 Matplotlib이 내부적으로 LaTeX을 호출해 모든 텍스트를 렌더링하므로, amsmath 같은 패키지가 제공하는 고급 수식 기능도 그대로 활용할 수 있습니다.