Matplotlib 해칭 (Hatch) 을 이용한 플롯 텍스처

Beginner

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

소개

이 랩에서는 Python Matplotlib 에서 해치 (hatches) 를 사용하여 플롯에 텍스처를 추가하는 방법을 배우게 됩니다. 해치는 플롯의 영역을 채우는 데 사용되는 패턴입니다. 해치를 사용하여 플롯의 서로 다른 부분을 구분하거나 플롯에 시각적인 흥미를 더할 수 있습니다.

VM 팁

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

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

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

라이브러리 임포트

시작하려면 필요한 라이브러리를 임포트해야 합니다. 이 경우 Matplotlib 과 NumPy 를 사용합니다. NumPy 는 Python 프로그래밍 언어를 위한 라이브러리로, 대규모 다차원 배열과 행렬에 대한 지원을 추가하고, 이러한 배열에서 작동하는 다양한 고급 수학 함수를 제공합니다.

import matplotlib.pyplot as plt
import numpy as np

데이터 생성

다음으로, 플롯에 사용할 데이터를 생성해야 합니다. 이 경우 NumPy 라이브러리를 사용하여 두 개의 배열을 생성합니다.

x = np.arange(1, 5)
y1 = np.arange(1, 5)
y2 = np.ones(y1.shape) * 4

해칭 (Hatching) 을 사용한 막대 그래프 생성

이제 데이터를 갖추었으므로 해칭을 사용하여 막대 그래프를 생성할 수 있습니다. 해칭을 사용하여 플롯의 막대에 패턴을 만들 수 있습니다. 이 경우, hatch 매개변수를 사용하여 막대에 해칭을 추가합니다.

plt.bar(x, y1, edgecolor='black', hatch="/")
plt.bar(x, y2, bottom=y1, edgecolor='black', hatch='//')

여러 해칭 (Hatch) 을 사용한 막대 그래프 생성

막대 그래프에서 여러 해칭을 사용할 수도 있습니다. 이 경우, 해칭 배열을 사용하여 막대에 여러 해칭을 생성합니다.

plt.bar(x, y1, edgecolor='black', hatch=['--', '+', 'x', '\\'])
plt.bar(x, y2, bottom=y1, edgecolor='black', hatch=['*', 'o', 'O', '.'])

해칭된 패치 (Patch) 를 사용한 플롯 생성

플롯에서 패치와 함께 해칭을 사용할 수도 있습니다. 이 경우, fill_between 함수를 사용하여 해칭된 패치를 생성합니다.

x = np.arange(0, 40, 0.2)
plt.fill_between(x, np.sin(x) * 4 + 30, y2=0, hatch='///', zorder=2, fc='c')

해칭을 사용한 타원 패치 (Ellipse Patch) 추가

플롯에 해칭된 패치를 추가할 수도 있습니다. 이 경우, add_patch 함수를 사용하여 플롯에 타원 패치를 추가합니다.

plt.gca().add_patch(Ellipse((4, 50), 10, 10, fill=True, hatch='*', facecolor='y'))

해칭을 사용한 다각형 패치 (Polygon Patch) 추가

해칭을 사용한 다각형 패치도 추가할 수 있습니다. 이 경우, add_patch 함수를 사용하여 플롯에 다각형 패치를 추가합니다.

plt.gca().add_patch(Polygon([(10, 20), (30, 50), (50, 10)], hatch='\\/...', facecolor='g'))

플롯 (Plot) 범위 및 종횡비 설정

마지막으로, 원하는 방식으로 보이도록 플롯의 범위와 종횡비를 설정할 수 있습니다.

plt.xlim([0, 40])
plt.ylim([10, 60])
plt.gca().set_aspect(1)

요약

이 랩 (lab) 에서는 Python Matplotlib 에서 해칭 (hatch) 을 사용하여 플롯에 질감을 추가하는 방법을 배웠습니다. 해칭이 있는 막대 그래프 (bar plot), 여러 해칭이 있는 막대 그래프, 해칭된 패치 (patch) 가 있는 플롯, 해칭이 있는 타원 패치 (ellipse patch), 해칭이 있는 다각형 패치, 그리고 플롯의 범위와 종횡비를 설정하는 방법을 배웠습니다.