Matplotlib에서 컬러바(colorbar)의 배경과 눈금 레이블 배치를 설정하려면 아래 단계를 순서대로 따르면 됩니다.
구현 단계
- 그림(figure) 크기를 설정하고 서브플롯 주변 및 사이의 여백(padding)을 조정합니다.
- numpy를 사용하여 데이터를 생성합니다.
- 생성한 데이터로 등고선(contour) 그래프를 그립니다.
- contourf가 반환하는 ScalarMappable 인스턴스를 활용해 컬러바를 생성합니다.
- 컬러바에 눈금 레이블(ticklabels)을 설정하여 배경과 레이블 배치를 지정합니다.
- show() 메서드를 호출하여 그림을 화면에 표시합니다.
예제 코드
import numpy as np import matplotlib.pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True data = np.linspace(0, 10, num=16).reshape(4, 4) cf = plt.contourf(data, levels=(0, 2.5, 5, 7.5, 10)) cb = plt.colorbar(cf) cb.set_ticklabels([1, 2, 3, 4, 5]) plt.show()
코드 설명
위 예제에서는 np.linspace로 0부터 10까지 균일한 간격의 값 16개를 생성한 뒤, reshape(4, 4)를 통해 4×4 형태의 2차원 배열로 변환합니다. 이후 plt.contourf()로 채워진 등고선 그래프를 그리고, levels 매개변수를 사용해 등고선의 경계값을 (0, 2.5, 5, 7.5, 10)으로 지정합니다.
plt.colorbar()에 contourf 결과 객체를 전달하면 해당 등고선에 대응하는 컬러바가 자동으로 생성됩니다. 마지막으로 cb.set_ticklabels()를 호출하면 컬러바의 기본 눈금 값을 [1, 2, 3, 4, 5]로 원하는 레이블로 교체할 수 있습니다. 이처럼 set_ticklabels()를 활용하면 컬러바의 배경 색상 구간과 레이블 배치를 손쉽게 제어할 수 있습니다.
실행 결과
