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 파라미터로 조절할 수 있습니다.