파이썬의 Matplotlib에서 색상 막대(colorbar)의 방향을 수평으로 설정하려면 orientation="horizontal" 인자를 사용하면 됩니다. 기본값은 세로 방향이지만, 이 옵션 하나만으로 그래프 하단에 가로로 눕혀진 컬러바를 손쉽게 만들 수 있습니다.
구현 단계
- 그림(figure) 크기를 설정하고 서브플롯(subplot) 사이와 주변의 여백(padding)을 조정합니다.
- NumPy를 사용하여 무작위 x, y, z 데이터 포인트를 생성합니다.
- 하나의 그림과 서브플롯 집합을 생성합니다.
- scatter() 메서드를 사용하여 x, y 데이터를 점으로 표시하고, z 값을 색상에 매핑합니다.
- ScalarMappable 인스턴스를 기반으로 수평 방향의 컬러바를 생성합니다.
- show() 메서드를 호출하여 그림을 화면에 출력합니다.
예제 코드
import numpy as np import matplotlib.pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True x, y, z = np.random.rand(3, 50) f, ax = plt.subplots() points = ax.scatter(x, y, c=z, s=50, cmap="plasma") f.colorbar(points, orientation="horizontal") plt.show()
실행 결과
위 코드를 실행하면 산점도(scatter plot) 하단에 'plasma' 컬러맵이 적용된 수평 방향의 색상 막대가 함께 표시됩니다. 각 점의 색상은 z 값에 따라 결정되며, 컬러바를 통해 값의 범위를 직관적으로 확인할 수 있습니다.

추가 팁
컬러바의 위치나 크기를 더 세밀하게 조정하고 싶다면 f.colorbar(points, orientation="horizontal", pad=0.1)처럼 pad 인자를 활용해 그래프와 컬러바 사이의 간격을 조절할 수 있습니다. 또한 ax=f.add_axes([left, bottom, width, height])를 사용하면 컬러바의 위치를 직접 지정할 수도 있습니다.