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

Matplotlib에서 겹치는 선 그리는 방법 – alpha 값으로 투명도 조절하기

Matplotlib에서 겹치는 선(overlapping lines)을 시각화하려면 alpha 값을 활용하면 됩니다. alpha 값은 선의 불투명도(opacity)를 결정하며, 0에 가까울수록 투명하고 1에 가까울수록 불투명해집니다. 이 값을 적절히 설정하면 여러 개의 선이 겹쳐 있는 영역을 자연스럽게 표현할 수 있습니다.

구현 단계

  • 그림 크기를 설정하고, 서브플롯(subplots) 주변과 사이의 여백(padding)을 조정합니다.
  • 선의 alpha 값(투명도)을 지정할 변수 overlapping을 초기화합니다.
  • line1은 빨간색, line2는 초록색으로 각각 플롯하되, 두 선 모두 동일한 alpha 값을 적용합니다.
  • 그림을 화면에 표시하려면 show() 메서드를 사용합니다.

예제 코드

from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
overlapping = 0.150
line1 = plt.plot([1, 3, 5, 2, 5, 3, 1], c='red', alpha=overlapping, lw=5)
line2 = plt.plot([7, 2, 5, 7, 5, 2, 7], c='green', alpha=overlapping,
lw=5)
plt.show()

실행 결과

위 코드를 실행하면 빨간색 선과 초록색 선이 서로 교차하며 겹치는 구간이 반투명하게 표현된 그래프가 출력됩니다. 두 선의 alpha 값이 모두 0.150으로 낮게 설정되어 있어, 겹치는 부분에서 색이 자연스럽게 섞여 보입니다.

참고 사항

alpha 값은 0부터 1 사이의 실수로 지정할 수 있습니다. 값이 작으면 선이 거의 보이지 않고, 값이 클수록 선명해집니다. 데이터가 많아 선들이 복잡하게 얽힌 경우에는 alpha 값을 낮춰 밀도를 한눈에 파악하는 데 유용합니다. 또한 lw(linewidth) 매개변수로 선의 굵기를 조절하여 가독성을 높일 수 있습니다.