Matplotlib에서 색상 막대(colorbar)의 너비를 줄이려면 colorbar() 메서드의 shrink 매개변수를 사용하면 됩니다. shrink 값은 기본 크기에 대한 상대적인 비율을 의미하며, 예를 들어 0.5로 설정하면 색상 막대가 원래 크기의 절반으로 축소됩니다.
구현 단계
- 그림(figure) 크기를 설정하고 서브플롯 사이 및 주변의 여백을 조정합니다.
- numpy를 사용하여 무작위 데이터를 생성합니다.
- imshow() 메서드를 사용해 데이터를 2D 래스터 이미지 형태로 화면에 표시합니다.
- ScalarMappable 인스턴스인 im에 대해 색상 막대를 생성하고, 이때 shrink 값을 지정하여 크기를 조절합니다.
- 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="YlOrBr") plt.colorbar(im, shrink=0.50) plt.show()
실행 결과
위 코드를 실행하면 YlOrBr 컬러맵이 적용된 5x5 크기의 무작위 데이터가 히트맵으로 표시되며, 오른쪽에 위치한 색상 막대는 shrink=0.50 설정에 따라 기본 크기의 50%로 줄어든 것을 확인할 수 있습니다.
추가 팁
shrink 외에도 색상 막대의 모양을 세밀하게 조정할 수 있는 다양한 매개변수가 있습니다. aspect는 색상 막대의 가로세로 비율을, fraction은 원본 그림 대비 색상 막대가 차지하는 비율을, pad는 그림과 색상 막대 사이의 간격을 조절합니다. 이들을 조합하면 원하는 레이아웃에 맞게 색상 막대를 자유롭게 배치할 수 있습니다.