사용자 정의 Figure 서브클래스 생성

Beginner

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

소개

이 랩에서는 Matplotlib 에서 사용자 정의 figure 서브클래스를 만드는 방법을 배웁니다. 플롯에 텍스트 워터마크를 추가하는 WatermarkFigure 클래스를 생성할 것입니다.

VM 팁

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

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

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

필요한 라이브러리 임포트

먼저, 필요한 라이브러리인 matplotlib.pyplotnumpy를 임포트합니다.

import matplotlib.pyplot as plt
import numpy as np

사용자 정의 figure 서브클래스 생성

플롯에 텍스트 워터마크를 추가하는 WatermarkFigure라는 사용자 정의 figure 서브클래스를 생성합니다. 이 클래스는 Matplotlib 의 Figure 클래스를 상속합니다.

from matplotlib.figure import Figure

class WatermarkFigure(Figure):
    """A figure with a text watermark."""

    def __init__(self, *args, watermark=None, **kwargs):
        super().__init__(*args, **kwargs)

        if watermark is not None:
            bbox = dict(boxstyle='square', lw=3, ec='gray',
                        fc=(0.9, 0.9, .9, .5), alpha=0.5)
            self.text(0.5, 0.5, watermark,
                      ha='center', va='center', rotation=30,
                      fontsize=40, color='gray', alpha=0.5, bbox=bbox)

플롯을 위한 데이터 생성

플롯을 위한 데이터를 생성합니다. 이 예제에서는 numpy 라이브러리를 사용하여 xy 배열을 생성합니다.

x = np.linspace(-3, 3, 201)
y = np.tanh(x) + 0.1 * np.cos(5 * x)

사용자 정의 figure 서브클래스를 사용하여 데이터 플롯

plt.figure() 함수를 사용하여 사용자 정의 figure 서브클래스 WatermarkFigure를 사용하여 데이터를 플롯합니다. 이 예제에서는 "draft" 워터마크 텍스트를 플롯에 추가합니다.

plt.figure(FigureClass=WatermarkFigure, watermark='draft')
plt.plot(x, y)

참조 검토

이 예제에서 사용된 참조를 검토합니다.

## References
## matplotlib.pyplot.figure
## matplotlib.figure.Figure
## matplotlib.figure.Figure.text

요약

이 랩에서는 Matplotlib 에서 사용자 정의 figure 서브클래스를 만드는 방법을 배웠습니다. 플롯에 텍스트 워터마크를 추가하는 WatermarkFigure 클래스를 만들었습니다. 또한 사용자 정의 figure 서브클래스를 사용하여 데이터를 플롯하는 방법도 배웠습니다.