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

Matplotlib에서 점선에 두 가지 색상을 번갈아 표현하는 방법

Matplotlib에서 점선(dashed line)을 그리면서 두 가지 색상이 번갈아 나타나도록 하려면, 실선과 점선을 겹쳐서 그리는 방식을 활용하면 됩니다. 아래 단계를 따라 해보세요.

구현 단계

  • 그림(figure) 크기를 설정하고, 서브플롯 주변과 사이의 여백(padding)을 조정합니다.
  • 현재 축(current axis)을 가져옵니다.
  • NumPy를 사용하여 x, y 데이터 포인트를 생성합니다.
  • 동일한 데이터를 실선('-') 스타일과 점선('--') 스타일로 각각 다른 색상으로 플롯하여 겹칩니다.
  • plt.show() 메서드를 호출하여 그림을 화면에 표시합니다.

예제 코드

from matplotlib import pyplot as plt
import numpy as np

# 그림 크기 및 자동 레이아웃 설정
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# 현재 축 가져오기
ax = plt.gca()

# 데이터 포인트 생성
x = np.linspace(-10, 10, 100)
y = np.sin(x)

# 실선(빨강)과 점선(노랑)을 겹쳐서 플롯
ax.plot(x, y, '-', color='red', linewidth=5)
ax.plot(x, y, '--', color='yellow', linewidth=5)

plt.show()

실행 결과

위 코드를 실행하면 빨간색 실선 위에 노란색 점선이 겹쳐져 그려지며, 마치 하나의 선 안에서 두 색상이 번갈아 나타나는 듯한 시각 효과를 얻을 수 있습니다.

원리 설명

이 기법의 핵심은 같은 좌표 데이터를 두 번 플롯하는 것입니다. 먼저 굵은 실선을 배경처럼 깔고, 그 위에 동일한 두께의 점선을 덧그립니다. 점선의 빈 공간 사이로 아래의 실선 색상이 비치게 되어, 결과적으로 한 줄 안에서 두 색상이 교차하는 패턴이 만들어집니다.

선 두께(linewidth)가 클수록 색상 교차 효과가 더 뚜렷하게 보이며, 점선 패턴의 간격은 linestyle 문자열이나 dashes 파라미터로 조절할 수 있습니다.