Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

matplotlib 2.0에서 배경색 없이 해치(Hatch) 패턴만으로 영역 채우는 방법

matplotlib에서 배경색 없이 해치(hatch) 패턴만으로 영역을 채우고 싶다면, fill_between() 함수에서 facecolor="none"으로 설정하고 hatchedgecolor 옵션을 함께 지정하면 됩니다. 아래 단계별로 자세히 살펴보겠습니다.

구현 단계

  • 그림(figure) 크기를 설정하고 서브플롯 사이 및 주변의 여백을 조정합니다.

  • 샘플 데이터의 개수를 저장할 변수 n을 초기화합니다.

  • 그림과 서브플롯(subplot) 집합을 생성합니다.

  • x, y 데이터 포인트를 선 그래프로 플롯합니다.

  • xy 사이의 영역을 원형('o') 해치로 채우고, edgecolor="blue"로 해치 색상을 지정합니다.

  • show() 메서드를 호출하여 결과 그래프를 화면에 표시합니다.

예제 코드

import numpy as np
import matplotlib.pyplot as plt

# 그림 크기 설정
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# 샘플 데이터 개수
n = 256

# x, y 데이터 포인트 생성
x = np.linspace(-np.pi, np.pi, n, endpoint=True)
y = np.sin(2 * x)

# 그림과 서브플롯 집합 생성
fig, ax = plt.subplots()

# 데이터 포인트 플롯
ax.plot(x, y, color='blue', alpha=1.0)

# 배경색 없이 해치만으로 두 데이터 포인트 사이 영역 채우기
ax.fill_between(x, y, color='blue', alpha=.2, facecolor="none", hatch="o", edgecolor="blue", linewidth=1.0)

# 그래프 표시
plt.show()

핵심 포인트

여기서 중요한 부분은 facecolor="none"입니다. 이 옵션이 있어야 영역 내부가 투명하게 유지되고, 오직 hatch="o"로 지정한 원형 패턴만 파란색(edgecolor="blue")으로 표시됩니다. 만약 facecolor에 특정 색상을 지정하면 해치 아래에 배경색이 함께 나타나므로 주의해야 합니다.

실행 결과

위 코드를 실행하면 사인 곡선 아래 영역이 배경색 없이 파란색 원형 해치 패턴으로만 채워진 그래프가 출력됩니다.

matplotlib 2.0에서 배경색 없이 해치(Hatch) 패턴만으로 영역 채우는 방법