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

파이썬 Matplotlib에서 곡선 아래에 무지개 색상 채우는 방법

파이썬 Matplotlib에서 곡선 아래 영역을 무지개 색으로 채우려면 다음 단계를 따르면 됩니다.

구현 단계

  • 그림(figure) 크기를 설정하고 서브플롯 주변과 사이의 여백(padding)을 조정합니다.
  • 무지개 색상 7가지를 리스트로 담고, numpy를 사용해 데이터 포인트 x를 생성하는 사용자 정의 함수 plot_rainbow_under_curve()를 만듭니다.
  • 0부터 7까지 반복하면서 곡선을 그리고, 각 색상으로 곡선 사이의 영역을 채웁니다.
  • 마지막으로 show() 메서드를 호출하여 그림을 화면에 표시합니다.

예제 코드

import numpy as np
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

def plot_rainbow_under_curve():
   rainbow_colors = ['violet', 'indigo', 'blue', 'green', 'yellow', 'orange', 'red']
   x = np.linspace(-5, 5, 100)
   for i in range(0, 7):
      plt.plot(x, x ** 2, lw=0)
      plt.fill_between(x, x ** 2 + len(rainbow_colors)-i, color=rainbow_colors[i])

plot_rainbow_under_curve()

plt.show()

실행 결과

위 코드를 실행하면 곡선 아래 영역이 보라색부터 빨간색까지 무지개 색상으로 순차적으로 채워진 그래프가 출력됩니다.

파이썬 Matplotlib에서 곡선 아래에 무지개 색상 채우는 방법파이썬 Matplotlib에서 곡선 아래에 무지개 색상 채우는 방법

핵심 포인트

여기서 중요한 역할을 하는 것은 fill_between() 함수입니다. 이 함수는 두 곡선(또는 곡선과 기준선) 사이의 영역을 지정한 색상으로 채워 줍니다. 예제에서는 반복문 안에서 x**2 + len(rainbow_colors) - i 값을 기준선으로 사용함으로써, 각 반복마다 채워지는 높이가 달라지도록 하여 무지개처럼 겹겹이 쌓인 효과를 만들어 냅니다. 또한 lw=0으로 선 두께를 0으로 설정해 곡선 자체는 보이지 않게 하고, 채워진 영역만 나타나도록 처리했습니다.