해칭 스타일 레퍼런스

Beginner

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

소개

이 랩에서는 Matplotlib 에서 Axes.bar, Axes.fill_between, Axes.contourf, 그리고 patches.Polygon 의 자식들을 포함한 대부분의 다각형에 해칭 (hatch) 을 추가하는 과정을 안내합니다. 다양한 해칭 패턴을 생성하고, 밀도를 높이기 위해 반복하며, 추가적인 패턴을 만들기 위해 결합하는 방법을 배우게 됩니다.

VM 팁

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

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

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

필요한 라이브러리 임포트

Matplotlib 을 사용하려면 라이브러리와 필요한 모듈을 임포트해야 합니다. 서브플롯 (subplots) 을 생성하기 위해 pyplot 모듈을 사용하고, Rectangle 객체를 생성하기 위해 patches 모듈을 사용합니다.

import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle

hatches_plot 함수 생성

hatches_plot 함수는 지정된 해칭 패턴 (hatching pattern) 을 가진 사각형을 생성하고 이를 축에 추가합니다. 또한 해칭 패턴과 함께 텍스트를 추가합니다.

def hatches_plot(ax, h):
    ax.add_patch(Rectangle((0, 0), 2, 2, fill=False, hatch=h))
    ax.text(1, -0.5, f"' {h} '", size=15, ha="center")
    ax.axis('equal')
    ax.axis('off')

서브플롯 생성

다양한 해칭 패턴 (hatching pattern) 을 가진 세 개의 서브플롯 세트를 생성합니다.

fig, axs = plt.subplots(2, 5, layout='constrained', figsize=(6.4, 3.2))

첫 번째 해칭 패턴 세트 생성

다음 목록을 사용하여 첫 번째 해칭 패턴 세트를 생성합니다.

hatches = ['/', '\\', '|', '-', '+', 'x', 'o', 'O', '.', '*']

그런 다음 루프를 사용하여 각 해칭 패턴으로 사각형을 생성하고 이를 서브플롯에 추가합니다.

for ax, h in zip(axs.flat, hatches):
    hatches_plot(ax, h)

두 번째 해칭 패턴 세트 생성

밀도를 높이기 위해 각 패턴을 두 번 반복하여 두 번째 해칭 패턴 세트를 생성합니다. 다음 목록을 사용합니다.

hatches = ['//', '\\\\', '||', '--', '++', 'xx', 'oo', 'OO', '..', '**']

이전과 동일한 루프를 사용하여 사각형을 생성합니다.

for ax, h in zip(axs.flat, hatches):
    hatches_plot(ax, h)

세 번째 해칭 패턴 세트 생성

두 패턴을 결합하여 새로운 패턴을 생성하여 세 번째 해칭 패턴 세트를 생성합니다. 다음 목록을 사용합니다.

hatches = ['/o', '\\|', '|*', '-\\', '+o', 'x*', 'o-', 'O|', 'O.', '*-']

이전과 동일한 루프를 사용하여 사각형을 생성합니다.

for ax, h in zip(axs.flat, hatches):
    hatches_plot(ax, h)

플롯 표시

show() 함수를 사용하여 플롯을 표시합니다.

plt.show()

요약

이 랩에서는 Matplotlib 의 대부분의 다각형 (Axes.bar, Axes.fill_between, Axes.contourf, patches.Polygon 의 자식 포함) 에 해칭 (hatching) 을 추가하는 방법을 배웠습니다. 다양한 해칭 패턴을 생성하고, 밀도를 높이기 위해 반복하며, 추가 패턴을 생성하기 위해 결합하는 방법을 배웠습니다. 또한 add_patch() 함수를 사용하여 축에 Rectangle 객체를 추가하는 방법과 text() 함수를 사용하여 플롯에 텍스트를 추가하는 방법을 배웠습니다.