-
[matplotlib]플롯의 특정 부분만 색상 변경하기Programming/Python 2021. 4. 6. 16:15반응형
혼자서 upbit의 코인들을 예측하고 있는 프로젝트가 있는데,
예측 결과를 색상으로 다르게 표현하고 싶어서 찾아보다가 유용해서 퍼왔습니다.
응용도 조금 섞었습니다.
from matplotlib import pyplot as plt import numpy as np # X,y 선언 y = np.array([2,5,7,8,13,14,13,12,10,5,2]) x = np.arange(len(y)) # 생성 제외할 값의 기준 threshold = 10 # line plot plt.plot(x, y, color='blue') below_threshold = y < threshold # Add above threshold markers above_threshold = np.logical_not(below_threshold) # true/false 반대로 plt.plot(x[above_threshold], y[above_threshold], color='red')
특정 부분만 색상을 변경하기 위해서는 먼저 기준이 되는 그래프를 먼저 그려준 뒤,
색상을 변경할 부분만 다시 plot을 그려주면 됩니다.
below_threshold
array([ True, True, False, False, False, True, True, True])
True 표시가 나오면 그려주고
above_threshold
array([False, False, True, True, True, False, False, False])
False 표시가 나오면 그리지 않습니다.
응용:
from matplotlib import pyplot as plt import numpy as np # X,y 선언 y = np.array([2,5,7,8,13,14,13,12,10,5,2]) x = np.arange(len(y)) # 생성 제외할 값의 기준 threshold = 10 # line plot plt.plot(x, y, color='blue') # Add below threshold markers below_threshold = y < threshold plt.scatter(x[below_threshold], y[below_threshold], color='green') # Add above threshold markers above_threshold = np.logical_not(below_threshold) plt.plot(x[above_threshold], y[above_threshold], color='red')
출처 : www.debugcn.com/ko/article/18198002.html
나의 응용:
import matplotlib.pyplot as plt import numpy as np plt.rcParams['font.family'] = 'Malgun Gothic' series = np.array([2270. , 2280. , 2300. , 2310. , 2325. , 2295. , 2325. , 2315. , 2325. , 2335. , 2330. , 2340. , 2345. , 2340. , 2325. , 2345. , 2350. , 2345. , 2340. , 2370.3623, 2372.7366, 2376.7349, 2381.4165, 2386.8862], dtype=np.float32) future = 5 threshold = np.ones_like(series,dtype=bool) threshold[:-future] = False pred_x = np.arange(len(series)) pred_y = series plt.plot(pred_x, pred_y,color='blue', label='Real') plt.plot(pred_x[threshold], pred_y[threshold], color='red', label='Real') plt.title('{}개의 예측결과'.format(future)) plt.show()
반응형'Programming > Python' 카테고리의 다른 글
python 시간 계산 (0) 2022.04.20 Python argparse 사용하기! (터미널에서 python을 실행할 때, 옵션을 쉽게주자) (0) 2021.05.28 (로컬)Python에서 Google Drive 공유파일 다운로드 받는 방법 (0) 2021.04.02 명사 사전 만들기(우리말샘) (4) 2021.03.12 Python 기초 공부 - 7 (numpy) (0) 2021.03.09