Matplotlib의 matshow() 함수로 행렬을 시각화할 때 그림 크기(figsize)를 조절하려면 figure() 메서드의 인자에 figsize를 지정하고, matshow() 메서드에는 fignum 인자를 함께 사용하면 됩니다.
구현 단계
- figure() 메서드를 사용하여 새 figure를 생성하거나 기존 figure를 활성화합니다.
- Pandas를 이용해 데이터프레임(DataFrame)을 만듭니다.
- matshow() 메서드를 사용하여 배열을 새 figure 창에 행렬 형태로 표시합니다.
fignum 인자의 값
fignum 인자는 None, 정수(int), False 중 하나의 값을 가질 수 있습니다.
- None: 자동 번호가 매겨진 새 figure 창을 생성합니다.
- 0이 아닌 정수: 해당 번호의 figure에 그립니다. 존재하지 않으면 새로 생성합니다.
- 0 또는 False: 현재 축(axes)을 사용하며, 없으면 새로 생성합니다.
예제 코드
import pandas as pd
from matplotlib import pyplot as plt
# 전역적으로 figure 크기와 자동 레이아웃 설정
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
# figure 생성
plt.figure()
# 데이터프레임 생성
df = pd.DataFrame({"col1": [1, 3, 5, 7, 1], "col2": [1, 5, 7, 9, 1]})
# 상관계수 행렬을 matshow로 시각화 (fignum=1로 figure 지정)
plt.matshow(df.corr(), fignum=1)
plt.show()실행 결과
위 코드를 실행하면 지정한 figsize(7.00 × 3.50)에 맞춰 데이터프레임의 상관관계 행렬이 히트맵 형태로 출력됩니다. 각 셀의 색상은 두 열 간의 상관계수를 나타내며, 컬러바(colorbar)를 통해 값의 범위를 확인할 수 있습니다.

참고 사항
Jupyter 노트북 환경에서는 %matplotlib inline 매직 명령을 먼저 실행해야 그림이 셀 내부에 바로 표시됩니다. 또한 여러 개의 그림을 연속으로 그릴 때는 각 plt.figure(figsize=(w, h)) 호출마다 원하는 크기를 개별적으로 지정할 수 있습니다.