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

Matplotlib에서 플롯 없이 독립적인 컬러바(Colorbar) 만드는 방법

데이터 시각화 작업을 하다 보면 그래프에 연결되지 않은 독립적인 컬러바(colorbar)가 필요한 경우가 있습니다. 이 글에서는 Matplotlib에서 별도의 플롯 없이 컬러바만 단독으로 생성하는 방법을 예제 코드와 함께 단계별로 살펴보겠습니다.

구현 단계

  • 그림(figure) 크기를 설정하고 서브플롯 주변 및 사이의 여백(padding)을 조정합니다.
  • 그림과 서브플롯 세트를 생성합니다.
  • 서브플롯 레이아웃 매개변수를 조정하여 컬러바가 들어갈 공간을 확보합니다.
  • mpl.colors.Normalize를 사용해 표시할 값의 최솟값(vmin)과 최댓값(vmax) 범위를 정규화합니다.
  • mpl.colorbar.ColorbarBase를 호출하여 가로(horizontal) 방향의 컬러바 인스턴스 (cb)를 생성합니다.
  • plt.show() 메서드를 사용해 결과를 화면에 표시합니다.

예제 코드

import matplotlib.pyplot as plt
import matplotlib as mpl

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

# 그림과 서브플롯 생성
fig, ax = plt.subplots()

# 서브플롯 레이아웃 매개변수 조정
fig.subplots_adjust(bottom=0.5)

# 값 범위 정규화
norm = mpl.colors.Normalize(vmin=5, vmax=10)

# 컬러바 인스턴스 생성
cb = mpl.colorbar.ColorbarBase(ax, cmap=mpl.cm.cool, norm=norm, orientation='horizontal')

# 결과 표시
plt.show()

실행 결과

위 코드를 실행하면 축이나 데이터 플롯 없이 cool 컬러맵이 적용된 가로형 컬러바만 화면에 나타납니다. 컬러바의 눈금은 vmin=5부터 vmax=10까지의 값을 기준으로 표시됩니다.

Matplotlib에서 플롯 없이 독립적인 컬러바(Colorbar) 만드는 방법

핵심 포인트 정리

이 기법의 핵심은 ColorbarBase 클래스입니다. 일반적으로 컬러바는 plt.colorbar()를 통해 기존 플롯에 자동으로 연결되지만, ColorbarBase에 Axes 객체와 컬러맵(cmap), 정규화(norm) 객체를 직접 전달하면 어떤 플롯과도 연결되지 않은 완전히 독립적인 컬러바를 만들 수 있습니다. 이는 컬러 스케일 참조표나 범례를 별도로 제작할 때 특히 유용합니다.