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 등의 옵션을 함께 활용할 수 있습니다.