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

matplotlib.pyplot에서 선 색상 중복을 피하는 방법 완벽 가이드

matplotlib으로 여러 개의 그래프를 그리다 보면 기본 색상 순환(color cycle) 때문에 선 색상이 반복되어 구분이 어려운 경우가 있습니다. 이 문제를 해결하려면 plot() 메서드의 color 속성에 고유한 색상 값을 직접 지정하면 됩니다.

해결 단계

  • 그림(figure) 크기를 설정하고 서브플롯 주변과 사이의 여백(padding)을 조정합니다.
  • numpy를 사용하여 x, y 데이터 포인트를 생성합니다.
  • plot() 메서드로 x, y 데이터 포인트를 그립니다.
  • plot() 메서드의 color 속성에 고유한 16진수(hexadecimal) 색상 코드를 지정합니다. 예를 들어 color="#980ab5"처럼 입력하면 해당 그래프가 고유한 색상으로 표시됩니다. 물론 color="green"처럼 원하는 특정 색상 이름을 사용할 수도 있습니다.
  • show() 메서드를 호출하여 그래프를 화면에 표시합니다.

예제 코드

import numpy as np
from matplotlib import pyplot as plt

# 그림 크기 설정
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

# x, y 데이터 포인트 생성
x = np.linspace(1, 100, 1000)
y = np.log(x)

# color 속성에 고유한 색상을 지정하여 그래프 그리기
plt.plot(x, y, color="#980ab5", lw=3)

# 그래프 표시
plt.show()

실행 결과

위 코드를 실행하면 다음과 같이 지정한 고유한 색상(#980ab5)의 그래프가 출력됩니다.

matplotlib.pyplot에서 선 색상 중복을 피하는 방법 완벽 가이드

반면, color 속성 없이 동일한 코드를 실행하면 그래프는 matplotlib의 기본 색상(파란색 계열)으로 자동 지정됩니다.

matplotlib.pyplot에서 선 색상 중복을 피하는 방법 완벽 가이드

추가 팁

여러 개의 선을 한 번에 다른 색상으로 표현하고 싶다면, 각 plot() 호출마다 서로 다른 16진수 색상 코드를 지정하거나, RGB 튜플 형태(예: color=(0.1, 0.5, 0.8))로 색상을 전달할 수도 있습니다. 이렇게 하면 기본 색상 순환에 의존하지 않고 각 선을 명확하게 구분할 수 있습니다.