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

Matplotlib 파이 차트에서 autopct 텍스트 색상을 흰색으로 변경하는 방법

Matplotlib 파이 차트에서 autopct 텍스트 색상을 흰색으로 변경하기

Matplotlib에서 원형 차트(파이 차트)를 그릴 때 autopct 매개변수를 사용하면 각 조각의 비율이 자동으로 표시됩니다. 기본 설정에서는 이 숫자 텍스트가 검은색으로 출력되기 때문에 어두운 색상의 조각 위에서는 잘 보이지 않을 수 있습니다. 이럴 때 텍스트 색상을 흰색으로 변경하면 가독성이 크게 향상됩니다.

다음은 autopct 텍스트 색상을 흰색으로 바꾸는 단계입니다.

  • 그림 크기를 설정하고 서브플롯 주변과 사이의 여백(padding)을 조정합니다.
  • 파이 차트에 사용할 hours(시간), activities(활동), colors(색상) 리스트를 준비합니다.
  • 파이 차트를 그리면서 숫자 레이블에 해당하는 .Text 인스턴스 목록을 반환받습니다.
  • autotexts를 반복(iterate)하면서 각 텍스트의 색상을 흰색으로 설정합니다.
  • show() 메서드를 호출해 그림을 화면에 표시합니다.

예제 코드

import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

plt.figure()

hours = [8, 1, 11, 4]
activities = ['sleeping', 'exercise', 'studying', 'working']
colors = ["grey", "green", "orange", "blue"]
_, _, autotexts = plt.pie(hours, labels=activities, colors=colors, autopct="%.2f")

for ins in autotexts:
    ins.set_color('white')

plt.show()

실행 결과

Matplotlib 파이 차트에서 autopct 텍스트 색상을 흰색으로 변경하는 방법

코드 설명

핵심은 plt.pie() 함수의 반환값에 있습니다. 이 함수는 세 가지 값을 반환하는데, 첫 번째는 조각(wedge) 객체들, 두 번째는 레이블 텍스트들, 세 번째는 autopct로 생성된 숫자 텍스트(autotexts)입니다. 위 예제에서는 언패킹(unpacking)을 통해 세 번째 값만 가져온 뒤, 반복문으로 각 텍스트 객체에 set_color('white')를 적용하여 모든 비율 텍스트를 흰색으로 변경했습니다. 이 방식은 어두운 배경색의 파이 차트에서 숫자를 선명하게 보여주고자 할 때 특히 유용합니다.