텍스트 기준선 비교

Beginner

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

소개

이 랩에서는 Matplotlib 라이브러리를 사용하여 mathtext 와 usetex 에 대해 계산된 텍스트 기준선을 비교합니다. mathtext 와 usetex 를 각각 사용하는 두 개의 서브플롯을 포함하는 플롯을 생성합니다. 각 서브플롯은 서로 다른 스타일과 위치를 가진 네 개의 테스트 문자열을 표시합니다.

VM 팁

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

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

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

필요한 라이브러리 가져오기

플롯을 생성하기 위해 matplotlib.pyplot 라이브러리를 가져와야 합니다.

import matplotlib.pyplot as plt

Matplotlib 폰트 설정

Matplotlib 텍스트에 사용할 폰트를 설정해야 합니다. Computer Modern 폰트를 사용하고 이를 Matplotlib 의 기본 폰트로 설정합니다.

plt.rcParams.update({"mathtext.fontset": "cm", "mathtext.rm": "serif"})

서브플롯 생성

mathtext 와 usetex 를 사용하는 두 개의 서브플롯을 포함하는 figure 를 생성합니다. subplots() 메서드를 사용하여 서브플롯을 생성합니다.

fig, axs = plt.subplots(1, 2, figsize=(2 * 3, 6.5))

플롯에 테스트 문자열 추가

각 서브플롯에 서로 다른 스타일과 위치를 가진 네 개의 테스트 문자열을 추가합니다. text() 메서드를 사용하여 서브플롯에 텍스트를 추가합니다.

test_strings = ["lg", r"$\frac{1}{2}\pi$", r"$p^{3^A}$", r"$p_{3_2}$"]
for ax, usetex in zip(axs, [False, True]):
    ax.axvline(0, color="r")
    for i, s in enumerate(test_strings):
        ax.axhline(i, color="r")
        ax.text(0., 3 - i, s,
                usetex=usetex,
                verticalalignment="baseline",
                size=50,
                bbox=dict(pad=0, ec="k", fc="none"))

플롯 제한 및 레이블 설정

원하는 출력과 일치하도록 플롯 제한 및 레이블을 설정합니다.

for ax in axs:
    ax.set(xlim=(-0.1, 1.1), ylim=(-.8, 3.9), xticks=[], yticks=[])
    ax.set_title(f"usetex={ax.usetex}\n")

플롯 표시

show() 메서드를 사용하여 플롯을 표시합니다.

plt.show()

요약

이 랩에서는 Matplotlib 을 사용하여 mathtext 와 usetex 에 대해 계산된 텍스트 기준선을 비교하는 방법을 배웠습니다. 두 개의 서브플롯 (하나는 mathtext, 다른 하나는 usetex) 을 포함하는 플롯을 만들었습니다. 각 서브플롯에 서로 다른 스타일과 위치를 가진 네 개의 테스트 문자열을 추가했습니다. 마지막으로, 텍스트 기준선을 비교하기 위해 플롯을 표시했습니다.