Matplotlib 텍스트 객체 연결

Beginner

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

소개

이 랩에서는 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 을 사용하여 서로 다른 속성을 가진 텍스트 객체를 연결하는 방법을 배웠습니다. 이 기술을 사용하여 시각화에 대한 사용자 정의 주석 또는 레이블을 만들 수 있습니다. 각 텍스트 객체의 모양을 사용자 정의함으로써 시각적으로 매력적이고 유익한 플롯을 만들 수 있습니다.