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

Matplotlib에서 축 배경을 투명하게 만드는 방법

Matplotlib에서 그래프의 축(axes) 영역을 투명하게 만들고 싶다면 set_alpha() 메서드를 활용하면 됩니다. 아래에서 단계별로 자세히 살펴보겠습니다.

축을 투명하게 만드는 단계

  • figure() 메서드를 사용해 새 figure를 생성하거나 기존 figure를 활성화합니다.

  • add_subplot() 메서드로 서브플롯 형태의 '~.axes.Axes'를 figure에 추가합니다.

  • set_facecolor() 메서드로 현재 축의 배경색을 설정합니다.

  • add_axes() 메서드를 사용해 figure에 새로운 축을 추가합니다.

  • Numpy를 이용해 ts 데이터를 생성합니다.

  • 5번 단계에서 추가한 두 번째 축(ax2) 위에 plot() 메서드로 t와 s 데이터를 그립니다.

  • 축을 투명하게 만들기 위해 set_alpha() 메서드를 사용하고, 알파 값을 최소값(0에 가까운 값)으로 설정합니다.

  • show() 메서드로 완성된 figure를 화면에 표시합니다.

예제 코드

import matplotlib.pyplot as plt
import numpy as np

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

fig = plt.figure()

ax1 = fig.add_subplot(1, 1, 1)
ax1.set_facecolor('orange')
ax2 = fig.add_axes([0.5, 0.5, 0.3, 0.3])

t = np.arange(0, 1, 0.01)
s = np.sin(t)

ax2.plot(t, s, linewidth=2)
ax2.patch.set_alpha(0.01)

plt.show()

코드 설명

위 예제에서는 먼저 첫 번째 축(ax1)의 배경색을 주황색으로 설정합니다. 그런 다음 add_axes([0.5, 0.5, 0.3, 0.3])를 통해 figure 내부에 작은 사각형 영역의 새로운 축(ax2)을 추가하고, 여기에 사인 곡선을 그립니다.

핵심은 마지막 부분의 ax2.patch.set_alpha(0.01)입니다. patch는 축의 배경 패치를 의미하며, 알파 값을 0.01처럼 매우 낮게 지정하면 해당 축의 배경이 거의 완전히 투명해집니다. 알파 값은 0(완전 투명)부터 1(완전 불투명) 사이의 값을 가지므로, 원하는 투명도 수준에 맞게 조절할 수 있습니다.

실행 결과

코드를 실행하면 주황색 배경 위에 사인 곡선이 그려진 작은 축이 나타나며, 이 축의 배경은 투명 처리되어 뒤쪽 배경이 비칩니다.