파이썬 Matplotlib에서 특정 조건에 따라 여러 색상으로 선을 그리려면, 데이터를 조건별로 나눈 뒤 각각 다른 색으로 플롯하면 됩니다. 아래 단계를 따라 해보세요.
구현 단계
- 그림(figure) 크기를 설정하고, 서브플롯 주변과 사이의 여백(padding)을 조정합니다.
- numpy를 사용해 y 데이터 포인트를 생성합니다.
- 색상을 구분하기 위한 u(양수 영역)와 l(음수 영역) 데이터 포인트를 만듭니다.
- plot() 메서드를 사용해 u와 l 데이터를 서로 다른 색상으로 그립니다.
- show() 메서드로 그림을 화면에 표시합니다.
예제 코드
import matplotlib.pyplot as plt import numpy as np plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True y = np.sin(np.linspace(-10, 10, 100)) u = y.copy() l = y.copy() u[u <= 0] = np.nan l[l >= 0] = np.nan plt.plot(u, color='red') plt.plot(l, color='blue') plt.show()
코드 설명
위 예제에서는 사인(sine) 함수로 생성한 y 값을 기준으로 조건 분기를 수행합니다. 값이 0 이하인 부분은 np.nan으로 대체하여 u 배열에서 제외하고, 0 이상인 부분은 l 배열에서 제외합니다. Matplotlib은 NaN 값이 있는 구간을 그리지 않으므로, 결과적으로 양수 구간은 빨간색, 음수 구간은 파란색으로 표시되어 하나의 곡선이 조건에 따라 두 가지 색으로 나뉘어 그려집니다.
실행 결과
