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

파이썬 Matplotlib에서 조건에 따라 여러 색상의 선 그리기

파이썬 Matplotlib에서 특정 조건에 따라 여러 색상으로 선을 그리려면, 데이터를 조건별로 나눈 뒤 각각 다른 색으로 플롯하면 됩니다. 아래 단계를 따라 해보세요.

구현 단계

  • 그림(figure) 크기를 설정하고, 서브플롯 주변과 사이의 여백(padding)을 조정합니다.
  • numpy를 사용해 y 데이터 포인트를 생성합니다.
  • 색상을 구분하기 위한 u(양수 영역)와 l(음수 영역) 데이터 포인트를 만듭니다.
  • plot() 메서드를 사용해 ul 데이터를 서로 다른 색상으로 그립니다.
  • 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 값이 있는 구간을 그리지 않으므로, 결과적으로 양수 구간은 빨간색, 음수 구간은 파란색으로 표시되어 하나의 곡선이 조건에 따라 두 가지 색으로 나뉘어 그려집니다.

실행 결과

파이썬 Matplotlib에서 조건에 따라 여러 색상의 선 그리기