Matplotlib 테이블의 특정 셀에 색상 지정하기
Matplotlib에서 테이블을 그릴 때 각 셀마다 서로 다른 색상을 적용하고 싶다면 cellColours 매개변수를 활용하면 됩니다. 이 매개변수에는 셀 텍스트와 같은 크기의 2차원 색상 리스트를 전달하며, 색상은 색상 이름뿐 아니라 HEX 코드나 RGB 값으로도 지정할 수 있습니다.
아래 단계를 따라 진행해 보세요.
- 그림(figure) 크기를 설정하고 서브플롯 주변 및 사이의 여백을 자동으로 조정합니다.
- 열 이름을 담은 columns 튜플을 만듭니다.
- 테이블에 들어갈 행 데이터(레코드)를 리스트의 리스트 형태로 작성합니다.
- 각 셀에 적용할 색상 정보도 리스트의 리스트 형태로 준비합니다.
- figure와 서브플롯을 생성합니다.
- 축 ax에 테이블을 추가하면서 cellColours 인자에 색상 리스트를 전달합니다.
ax.axis('off')를 호출해 축을 숨깁니다.- show() 메서드로 결과를 화면에 표시합니다.
예제 코드
import matplotlib.pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
columns = ('name', 'age', 'marks', 'salary')
cell_text = [["John", "23", "98", "234"],
["James", "24", "90", "239"]]
colors = [["red", "yellow", "blue", "green"],
["blue", "green", "yellow", "red"]]
fig, ax = plt.subplots()
the_table = ax.table(cellText=cell_text, cellColours=colors,
colLabels=columns, loc='center')
ax.axis('off')
plt.show()
실행 결과

코드를 실행하면 위와 같이 각 셀이 지정한 색상(red, yellow, blue, green)으로 채워진 테이블이 축 없이 화면 중앙에 깔끔하게 표시됩니다. 참고로 열 라벨(colLabels)의 배경색은 기본값이 적용되며, 별도로 지정하려면 cellLoc, colColours 등의 옵션을 함께 활용할 수 있습니다.