맞춤 글꼴로 플롯 만들기

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 Python Matplotlib 라이브러리를 사용하여 사용자 정의 글꼴로 플롯을 만드는 방법을 배우게 됩니다. 플롯의 글꼴 패밀리를 사용자 정의하기 위해 LaTeX 를 사용할 수 있게 해주는 pgf.texsystem 매개변수를 소개합니다.

VM 팁

VM 시작이 완료되면, 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접속하십시오.

때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.

학습 중 문제가 발생하면 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.

Matplotlib 임포트 및 pgf.texsystem 매개변수 설정

먼저, Matplotlib 라이브러리를 임포트하고 pgf.texsystem 매개변수를 pdflatex로 설정해야 합니다. 이 매개변수를 사용하면 LaTeX 를 사용하여 플롯의 글꼴 패밀리를 사용자 정의할 수 있습니다.

import matplotlib.pyplot as plt

plt.rcParams.update({
    "pgf.texsystem": "pdflatex",
})

글꼴 패밀리 정의

다음으로, 플롯에서 사용하려는 글꼴 패밀리를 정의해야 합니다. 이 예제에서는 cmbright 글꼴 패밀리를 사용합니다.

plt.rcParams.update({
    "pgf.texsystem": "pdflatex",
    "pgf.preamble": "\n".join([
         r"\usepackage[utf8x]{inputenc}",
         r"\usepackage[T1]{fontenc}",
         r"\usepackage{cmbright}",
    ]),
})

플롯 생성

이제 plt.subplots() 함수를 사용하여 플롯을 생성할 수 있습니다. 이 예제에서는 간단한 선 그래프를 생성합니다.

fig, ax = plt.subplots(figsize=(4.5, 2.5))

ax.plot(range(5))

플롯에 텍스트 추가

ax.text() 함수를 사용하여 플롯에 텍스트를 추가할 수 있습니다. 이 예제에서는 서로 다른 글꼴 패밀리를 사용하여 텍스트를 추가합니다.

ax.text(0.5, 3., "serif", family="serif")
ax.text(0.5, 2., "monospace", family="monospace")
ax.text(2.5, 2., "sans-serif", family="sans-serif")
ax.set_xlabel(r"µ is not $\mu$")

레이아웃 조정 및 플롯 저장

마지막으로, fig.tight_layout()fig.savefig() 함수를 사용하여 플롯의 레이아웃을 조정하고 파일을 저장할 수 있습니다.

fig.tight_layout(pad=.5)

fig.savefig("pgf_texsystem.pdf")
fig.savefig("pgf_texsystem.png")

요약

이 랩에서는 Python Matplotlib 라이브러리를 사용하여 사용자 정의 글꼴로 플롯을 만드는 방법을 배웠습니다. pgf.texsystem 매개변수를 사용하여 플롯의 글꼴 패밀리를 설정하고, ax.text() 함수를 사용하여 서로 다른 글꼴 패밀리를 가진 텍스트를 추가했습니다. 또한 플롯의 레이아웃을 조정하고 파일을 저장하는 방법도 배웠습니다.