Python에서 색상 막대(colorbar)와 함께 2D 행렬을 시각화하려면 NumPy로 2차원 배열 행렬을 생성한 뒤, 해당 행렬을 imshow() 메서드에 전달하면 됩니다. 이 방법은 히트맵 형태의 데이터 시각화에 매우 유용합니다.
구현 단계
NumPy를 사용하여 data2D라는 2차원 배열 데이터를 생성합니다.
imshow() 메서드를 사용하여 데이터를 이미지 형태로 화면에 표시합니다. 즉, 2D 정규 래스터(raster) 위에 데이터를 렌더링합니다.
colorbar() 메서드를 호출하고 imshow()가 반환한 ScalarMappable 인스턴스(*mappable*)를 전달하여 색상 막대를 생성합니다.
show() 메서드를 사용하여 최종 그림(figure)을 화면에 출력합니다.
예제 코드
import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True data2D = np.random.random((50, 50)) im = plt.imshow(data2D, cmap="copper_r") plt.colorbar(im) plt.show()
코드 설명
위 예제에서 np.random.random((50, 50))은 0과 1 사이의 무작위 실수 값으로 채워진 50×50 크기의 2D 배열을 만듭니다. cmap="copper_r" 옵션은 역순 코퍼(copper reversed) 컬러맵을 적용하여 낮은 값일수록 밝고 높은 값일수록 어두운 색으로 표현합니다. 마지막으로 plt.colorbar(im)를 통해 각 색상이 나타내는 값의 범위를 확인할 수 있는 색상 막대를 그림 오른쪽에 추가합니다.
실행 결과
코드를 실행하면 50×50 크기의 무작위 데이터가 컬러맵에 따라 색상으로 표현된 이미지와 함께, 값의 범위를 보여주는 색상 막대가 출력됩니다.
