Python Matplotlib 주석 플롯 튜토리얼

Beginner

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

소개

이 튜토리얼은 Python 의 Matplotlib 을 사용하여 주석이 있는 플롯을 생성하는 과정을 안내합니다. 두 점을 화살표로 연결하고, 플롯에 타원을 추가하며, 화살표 스타일과 타원 속성을 사용자 정의하는 방법을 배우게 됩니다.

VM 팁

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

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

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

플롯 설정

먼저, 두 개의 서브플롯 (subplots) 으로 플롯을 설정해야 합니다. subplots 함수를 사용하여 2x2 그리드의 서브플롯을 생성한 다음, 두 점의 x 및 y 좌표를 정의합니다.

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches

fig, axs = plt.subplots(2, 2)
x1, y1 = 0.3, 0.3
x2, y2 = 0.7, 0.7

화살표로 두 점 연결

이 단계에서는 화살표로 두 점을 연결합니다. annotate 함수를 사용하여 화살표를 생성하고, 화살표 스타일과 색상을 사용자 정의합니다.

ax = axs.flat[0]
ax.plot([x1, x2], [y1, y2], ".")
ax.annotate("",
            xy=(x1, y1), xycoords='data',
            xytext=(x2, y2), textcoords='data',
            arrowprops=dict(arrowstyle="-",
                            color="0.5",
                            connectionstyle="arc3,rad=0.3",
                            ),
            )

플롯에 타원 추가

이 단계에서는 플롯에 타원을 추가합니다. Ellipse 함수를 사용하여 타원을 생성하고, 위치, 너비, 높이 및 각도와 같은 타원 속성을 사용자 정의합니다.

ax = axs.flat[1]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)

타원에 연결되도록 화살표 사용자 정의

이 단계에서는 타원에 연결되도록 화살표를 사용자 정의합니다. arrowprops 매개변수를 사용하여 화살표가 타원에 연결되도록 지정하고, 화살표 스타일과 색상도 사용자 정의합니다.

ax = axs.flat[2]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
            xy=(x1, y1), xycoords='data',
            xytext=(x2, y2), textcoords='data',
            arrowprops=dict(arrowstyle="-",
                            color="0.5",
                            patchB=el,
                            connectionstyle="arc3,rad=0.3",
                            ),
            )

타원에 맞춰 화살표 축소 사용자 정의

이 단계에서는 타원에 맞춰 화살표를 축소하도록 사용자 정의합니다. shrinkB 매개변수를 사용하여 화살표가 타원을 향해 축소되어야 하는 양을 지정합니다.

ax = axs.flat[3]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
            xy=(x1, y1), xycoords='data',
            xytext=(x2, y2), textcoords='data',
            arrowprops=dict(arrowstyle="fancy",
                            color="0.5",
                            patchB=el,
                            shrinkB=5,
                            connectionstyle="arc3,rad=0.3",
                            ),
            )

요약

이 튜토리얼에서는 Python 의 Matplotlib 을 사용하여 주석이 있는 플롯을 만드는 방법을 배웠습니다. 두 점을 화살표로 연결하고, 플롯에 타원을 추가하고, 화살표 스타일과 타원 속성을 사용자 정의하는 방법을 배웠습니다. 이러한 기술은 데이터 시각화를 위한 유익하고 시각적으로 매력적인 플롯을 만드는 데 유용합니다.