소개
이 랩에서는 Matplotlib 을 사용하여 서로 다른 속성을 가진 텍스트 객체를 연결하는 방법을 배우게 됩니다. 연결 (Concatenation) 은 여러 텍스트 객체를 단일 문자열로 결합하는 과정입니다. 이는 시각화에 대한 주석이나 레이블을 생성할 때 유용할 수 있습니다.
VM 팁
VM 시작이 완료되면, 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접근하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수도 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.
학습 중에 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.
첫 번째 텍스트 객체 생성
첫 번째 단계는 ~.Axes.text를 사용하여 첫 번째 텍스트 객체를 생성하는 것입니다. 이 텍스트 객체는 연결 프로세스의 시작점이 됩니다. 다음 코드는 플롯의 (0.1, 0.5) 위치에 "Matplotlib"라는 단어가 있는 빨간색 텍스트 객체를 생성합니다.
text = ax.text(.1, .5, "Matplotlib", color="red")
후속 텍스트 객체 생성
다음 단계는 ~.Axes.annotate를 사용하여 후속 텍스트 객체를 생성하는 것입니다. 이 함수를 사용하면 이전 텍스트 객체에 상대적으로 텍스트 객체의 위치를 지정할 수 있습니다. 다음 코드는 이전 텍스트 객체의 오른쪽에 위치한 세 개의 텍스트 객체를 생성합니다.
text = ax.annotate(
" says,", xycoords=text, xy=(1, 0), verticalalignment="bottom",
color="gold", weight="bold") ## custom properties
text = ax.annotate(
" hello", xycoords=text, xy=(1, 0), verticalalignment="bottom",
color="green", style="italic") ## custom properties
text = ax.annotate(
" world!", xycoords=text, xy=(1, 0), verticalalignment="bottom",
color="blue", family="serif") ## custom properties
텍스트 객체 사용자 정의
다양한 속성을 사용하여 텍스트 객체의 모양을 사용자 정의할 수 있습니다. 이전 코드 블록에서 각 텍스트 객체에 대해 색상, 굵기 (weight), 스타일 및 글꼴 (family) 속성을 설정했습니다. 원하는 모양을 얻기 위해 다양한 속성을 실험해 볼 수 있습니다.
플롯 표시
모든 텍스트 객체를 생성하고 사용자 정의한 후, plt.show()를 사용하여 플롯을 표시할 수 있습니다. 다음 코드 블록은 플롯에 대한 전체 코드를 보여줍니다.
import matplotlib.pyplot as plt
plt.rcParams["font.size"] = 20
ax = plt.figure().add_subplot(xticks=[], yticks=[])
## The first word, created with text().
text = ax.text(.1, .5, "Matplotlib", color="red")
## Subsequent words, positioned with annotate(), relative to the preceding one.
text = ax.annotate(
" says,", xycoords=text, xy=(1, 0), verticalalignment="bottom",
color="gold", weight="bold") ## custom properties
text = ax.annotate(
" hello", xycoords=text, xy=(1, 0), verticalalignment="bottom",
color="green", style="italic") ## custom properties
text = ax.annotate(
" world!", xycoords=text, xy=(1, 0), verticalalignment="bottom",
color="blue", family="serif") ## custom properties
plt.show()
요약
이 랩에서는 Matplotlib 을 사용하여 서로 다른 속성을 가진 텍스트 객체를 연결하는 방법을 배웠습니다. 이 기술을 사용하여 시각화에 대한 사용자 정의 주석 또는 레이블을 만들 수 있습니다. 각 텍스트 객체의 모양을 사용자 정의함으로써 시각적으로 매력적이고 유익한 플롯을 만들 수 있습니다.