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

Matplotlib 패치의 테두리색과 채우기색에 서로 다른 불투명도 설정하는 방법

Matplotlib에서 패치(patch)의 테두리색(edgecolor)과 채우기색(facecolor)에 각각 다른 불투명도(opacity)를 적용하려면 RGBA 색상 튜플을 활용하면 됩니다. 색상 튜플의 네 번째 요소(인덱스 3)가 해당 색상의 불투명도 값을 결정하며, 0(완전히 투명)부터 1(완전히 불투명) 사이의 값으로 지정할 수 있습니다.

구현 단계

  • 그림 크기를 설정하고, 서브플롯 주변 및 사이의 여백을 자동으로 조정합니다.
  • subplots() 메서드를 사용해 그림(figure)과 축(ax)을 생성합니다.
  • 테두리색과 채우기색에 서로 다른 불투명도 값을 정의합니다.
  • add_patch() 메서드로 사각형(Rectangle) 패치를 축에 추가합니다.
  • show() 메서드를 호출하여 결과 그림을 화면에 표시합니다.

예제 코드

from matplotlib import pyplot as plt, patches

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

figure, ax = plt.subplots()
edge_color_opacity = 1    # 0 < val < 1
tface_color_opacity = 0.75 # 0 < val < 1

ax.add_patch(patches.Rectangle((.25, .25), .50, .50,
                               edgecolor=(1, 0, 0, edge_color_opacity),
                               facecolor=(0, 1, 0, face_color_opacity),
                               linewidth=2))

plt.show()

실행 결과

위 코드를 실행하면 빨간색 테두리는 완전히 불투명하고(불투명도 1), 초록색 내부는 반투명하게(불투명도 0.75) 렌더링된 사각형이 출력됩니다.

핵심 포인트

RGBA 형식의 색상 튜플 (R, G, B, A)에서 마지막 값 A가 알파(투명도) 채널입니다. 이 방식을 사용하면 하나의 패치 안에서도 테두리와 면의 투명도를 독립적으로 제어할 수 있어, 겹쳐진 그래프나 배경 위에 도형을 표시할 때 시각적 가독성을 높이는 데 유용합니다.