Matplotlib 플롯에서 텍스트 스타일 사용자 정의

Beginner

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

소개

이 랩에서는 딕셔너리를 사용하여 Matplotlib 플롯에서 텍스트와 레이블의 스타일을 제어하는 방법을 배웁니다. 옵션 딕셔너리를 생성함으로써 여러 텍스트 객체와 레이블 간에 매개변수를 공유할 수 있습니다. 이를 통해 플롯에서 텍스트의 글꼴 패밀리 (font family), 색상 (color), 굵기 (weight), 크기 (size) 를 쉽게 사용자 정의할 수 있습니다.

VM 팁

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

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

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

필요한 라이브러리 임포트

이 튜토리얼에 필요한 라이브러리를 먼저 임포트하겠습니다. Matplotlib 와 NumPy 를 사용할 것입니다.

import matplotlib.pyplot as plt
import numpy as np

글꼴 딕셔너리 정의

다음으로, 텍스트와 레이블에 대한 스타일 옵션을 포함할 글꼴 딕셔너리를 정의합니다. 이 예제에서는 글꼴 패밀리 (font family) 를 'serif'로, 색상 (color) 을 'darkred'로, 굵기 (weight) 를 'normal'로, 크기 (size) 를 16 으로 설정합니다.

font = {'family': 'serif',
        'color':  'darkred',
        'weight': 'normal',
        'size': 16,
        }

플롯 생성

이제 플롯을 생성할 수 있습니다. NumPy 를 사용하여 데이터를 생성하고 감쇠 지수 감소 곡선을 플롯합니다.

x = np.linspace(0.0, 5.0, 100)
y = np.cos(2*np.pi*x) * np.exp(-x)

plt.plot(x, y, 'k')

제목 사용자 정의

앞서 정의한 글꼴 딕셔너리를 사용하여 플롯의 제목을 사용자 정의할 수 있습니다. title() 함수의 fontdict 매개변수를 저희 글꼴 딕셔너리로 설정합니다.

plt.title('Damped Exponential Decay', fontdict=font)

플롯에 텍스트 추가

text() 함수를 사용하여 플롯에 텍스트를 추가할 수 있습니다. 이 예제에서는 글꼴 딕셔너리를 사용하여 스타일을 사용자 정의하여 LaTeX 표현식을 플롯에 추가합니다.

plt.text(2, 0.65, r'$\cos(2 \pi t) \exp(-t)$', fontdict=font)

축 레이블 사용자 정의

글꼴 딕셔너리를 사용하여 플롯의 축 레이블도 사용자 정의할 수 있습니다. xlabel()ylabel() 함수의 fontdict 매개변수를 저희 글꼴 딕셔너리로 설정합니다.

plt.xlabel('Time (s)', fontdict=font)
plt.ylabel('Voltage (mV)', fontdict=font)

간격 조정

마지막으로, ylabel의 클리핑을 방지하기 위해 플롯의 간격을 조정할 수 있습니다. subplots_adjust() 함수를 사용하여 왼쪽 여백을 조정합니다.

plt.subplots_adjust(left=0.15)

요약

이 랩에서는 딕셔너리를 사용하여 Matplotlib 플롯에서 텍스트와 레이블의 스타일을 제어하는 방법을 배웠습니다. 글꼴 딕셔너리를 생성하여 플롯의 텍스트에 대한 글꼴 패밀리, 색상, 굵기 및 크기를 쉽게 사용자 정의할 수 있습니다. 이 기술을 사용하여 플롯의 제목, 텍스트 및 축 레이블을 사용자 정의하고 ylabel의 클리핑을 방지하기 위해 간격을 조정했습니다.