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

Matplotlib 파이 차트에서 자동 표시되는 상대 백분율을 절대 값으로 바꾸는 방법

Matplotlib에서 파이 차트에 자동으로 표시되는 상대 값(백분율)을 실제 절대 값으로 바꾸고 싶다면, autopct=lambda p: <결과 계산식> 형태의 람다 함수를 사용하면 됩니다.

구현 단계

  • 그림(figure) 크기를 설정하고 서브플롯 사이 및 주변의 여백(padding)을 조정합니다.
  • labels(레이블), fracs(비율), explode(강조 위치) 리스트를 준비한 뒤, 백분율을 절대 값으로 변환하기 위해 비율의 합계를 구합니다.
  • labels, fracs, explode와 함께 autopct=lambda p: <백분율 계산식>을 지정하여 파이 차트를 생성합니다.
  • show() 메서드를 호출하여 그림을 화면에 표시합니다.

예제 코드

import matplotlib.pyplot as plt

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

labels = ('Read', 'Eat', 'Sleep', 'Repeat')
fracs = [5, 3, 4, 1]
total = sum(fracs)
explode = (0, 0.05, 0, 0)

plt.pie(fracs, explode=explode, labels=labels,
        autopct=lambda p: '{:.0f}%'.format(p * total / 100),
        shadow=True, startangle=90)

plt.show()

코드 설명

autopct 콜백 함수는 각 파이 조각이 전체에서 차지하는 상대 백분율(p)을 매개변수로 전달받습니다. 이 값에 전체 합계(total)를 곱하고 100으로 나누면, 해당 조각이 나타내는 원래 데이터의 절대 값을 구할 수 있습니다. 즉, p * total / 100이라는 간단한 계산만으로 차트 위에 실제 데이터 값을 레이블로 표시할 수 있습니다.

출력 결과

Matplotlib 파이 차트에서 자동 표시되는 상대 백분율을 절대 값으로 바꾸는 방법