데이터를 2D 래스터 이미지로 시각화할 때 imshow() 함수를 자주 사용하게 되는데, 이때 컬러바(colorbar)에 적절한 레이블을 추가하면 그래프의 가독성과 전달력이 크게 향상됩니다. matplotlib에서 imshow() 플롯의 컬러바에 레이블을 지정하는 방법을 단계별로 알아보겠습니다.
구현 단계
그림 크기 설정: figure 크기를 지정하고 서브플롯 사이 및 주변의 패딩(padding)을 조정합니다.
데이터 생성: NumPy를 사용하여 5×5 크기의 무작위 데이터 포인트를 생성합니다.
이미지 표시: imshow() 메서드를 사용하여 데이터를 2D 정규 래스터 형태의 이미지로 화면에 출력합니다.
컬러바 생성: ScalarMappable 인스턴스인 im에 대한 컬러바를 colorbar() 함수로 생성합니다.
레이블 지정: set_label() 메서드를 호출하여 컬러바에 원하는 레이블 텍스트를 설정합니다.
그래프 출력: show() 메서드를 사용하여 최종 그림을 화면에 표시합니다.
예제 코드
import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
data = np.random.rand(5, 5)
im = plt.imshow(data, cmap="copper")
cbar = plt.colorbar(im)
cbar.set_label("Colorbar")
plt.show()실행 결과
위 코드를 실행하면 'copper' 컬러맵으로 표현된 5×5 히트맵이 출력되며, 오른쪽에 위치한 컬러바에 "Colorbar"라는 레이블이 세로 방향으로 표시되는 것을 확인할 수 있습니다.
추가 팁
set_label() 메서드는 폰트 크기, 회전 각도 등 다양한 스타일 옵션도 함께 지원합니다. 예를 들어 cbar.set_label("Colorbar", fontsize=12, rotation=270)처럼 작성하면 레이블의 크기와 방향을 자유롭게 조절할 수 있어, 발표용 그래프나 논문 도표 제작 시 유용하게 활용됩니다.