[matplotlib] 파이 차트

  • 시각화

파이썬 시각화 라이브러리 matplotlib으로 파이 차트 그리는 방법을 정리했다.

Pie Chart

파이 차트는 plt.pie()로 그린다.

from matplotlib import pyplot as plt

data = [500, 1000, 750, 300, 100]
plt.pie(data)

plt.show()

그런데 그냥 그리면 약간 찌그러져 타원으로 나타난다. 그래서 원형으로 그리고 싶으면 plt.axis('equal')를 붙여줘야 한다.

from matplotlib import pyplot as plt

data = [500, 1000, 750, 300, 100]
plt.pie(data)
plt.axis('equal')
plt.show()

색깔을 바꾸고 싶다면 colors를 통해 지정해주면 된다.

plt.pie(data, colors=["red", "orange", "yellow", "green"])

각 항목에 대한 레이블을 달아줘야 하는데 방법이 두 가지 있다.

  1. plt.legend()를 활용한다.
  2. plt.pie()로 차트를 그릴 때 괄호 안에 labels를 지정한다.

일단 1번 방법(legend 활용) 예제다.

from matplotlib import pyplot as plt

data = [500, 1000, 750, 300, 100]
categories = ['marketing', 'payroll', 'engineering', 'design', 'misc']
plt.pie(data)
plt.legend(categories)

plt.show()

이제 2번 방법(legend 활용) 예제다.

from matplotlib import pyplot as plt

data = [500, 1000, 750, 300, 100]
categories = ['marketing', 'payroll', 'engineering', 'design', 'misc']
plt.pie(data, labels=categories)

plt.show()

파이 차트 안에는 해당 항목이 전체의 몇 퍼센트인지 값 표시를 해주어야 할 때가 있는데, 이때 autopct를 사용하면 된다. 어떤 형식으로 표시할지 문자열 포매팅을 활용한다.

  • '%0.2f' — 소숫점 두번째자리 까지 보여준다.  4.08
  • '%0.2f%%' — 소숫점 두번째자리까지 보여주고 맨 뒤에 ‘%’ 기호를 붙인다.  4.08%.
    (% 기호를 두 번 쓰는 이유는 문자열 포매팅 할 때 처음 % 기호가 이스케이프 문자처럼 작동하기 때문이다.)
  • '%d%%' — 가장 가까운 정수로 반올림하고 맨 뒤에 % 기호를 붙인다.  4%.

예를 들어 소숫점 1자리까지 표시하고, 뒤에 ‘%’ 기호를 붙이고 싶다면 이렇게 하면 된다.

plt.pie(data, labels=categories, autopct='%0.1f%%')

지금 인기 글


댓글 남기기