Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib 테이블의 특정 셀에 색상 지정하는 방법

Matplotlib 테이블의 특정 셀에 색상 지정하기

Matplotlib에서 테이블을 그릴 때 각 셀마다 서로 다른 색상을 적용하고 싶다면 cellColours 매개변수를 활용하면 됩니다. 이 매개변수에는 셀 텍스트와 같은 크기의 2차원 색상 리스트를 전달하며, 색상은 색상 이름뿐 아니라 HEX 코드나 RGB 값으로도 지정할 수 있습니다.

아래 단계를 따라 진행해 보세요.

  1. 그림(figure) 크기를 설정하고 서브플롯 주변 및 사이의 여백을 자동으로 조정합니다.
  2. 열 이름을 담은 columns 튜플을 만듭니다.
  3. 테이블에 들어갈 행 데이터(레코드)를 리스트의 리스트 형태로 작성합니다.
  4. 각 셀에 적용할 색상 정보도 리스트의 리스트 형태로 준비합니다.
  5. figure와 서브플롯을 생성합니다.
  6. 축 ax에 테이블을 추가하면서 cellColours 인자에 색상 리스트를 전달합니다.
  7. ax.axis('off')를 호출해 축을 숨깁니다.
  8. 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()

실행 결과

Matplotlib 테이블의 특정 셀에 색상 지정하는 방법

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