본문 바로가기
Python/Basic Data Analysis

[Python] matplotlib 이용하여 누적영역형차트, 원형차트 그리기

by JKyun 2018. 1. 2.

안녕하세요. 우주신 입니다.


저번 시간에 이어 matplotlib 이용하여 누적영역형차트, 원형차트 그리는 방법에 대해 포스팅 하겠습니다.


우선, 그래프를 만들 임의의 데이터를 생성하겠습니다. (정말 아무 의미 없는 값을 입력해 데이터 생성했어요;)



1. 누적영역형차트 (Stacked Area Graph)


누적영역형차트는 두 개 이상의 데이터 계열을 서로 누적하는 영역형 차트 입니다. 

특히, 제품별로 매출에 기여하는 정도를 시계열로 나열하여 한 눈에 쉽게 볼 수 있어 성과 분석을 위한 기본적인 그래프 중 하나 입니다.


plt.stackplot(beernum, price, amount, country)

-plt.stackplot() 함수 안에 4개의 리스트인 데이터를 입력했습니다. 

첫번째 데이터인 beernum이 X축의 기준이 되고 그 외의 데이터들은 순차적으로 누적되어 그래프에 표시됩니다.


출력 결과, 입력 순서대로 데이터 값이 누적되어 그려진 것을 확인할 수 있습니다.


위의 차트의 색을 바꾸고, 차트 제목 및 X축, Y축 이름을 설정 했습니다.

plt.stackplot(beernum, price, amount, country, colors = )

-colors 기능에 원하시는 색을 리스트로 입력하면 됩니다.




2. 원형차트(Pie Chart)


원형차트는 전체에 대한 각 부분의 비율을 부채꼴 모양으로 나타낸 그래프 입니다.


가격(price)을 원형 차트로 표현해보겠습니다.

plt.pie(price)

-plt.pie() 함수 안에 데이터(price)를 넣고 출력 했습니다.


가격의 데이터에 따른 비율을 색깔별로 구분하여 그려졌는데, 어떤 데이터의 비율인지 한 눈에 파악하기 애매합니다.


이를 활용하여, 맥주 넘버(beernum)에 따른 가격(price)을 원형 차트로 표현해보겠습니다.

plt.pie(price, labels=, colors=, startangle=, shadow=, explode=, autopct= )

-plt.pie() 함수 안에 주 데이터로 price를 입력하고,

labels= 기능으로 어떤 데이터를 기준으로 주 데이터를 구분할지 정합니다.

colors= 기능으로 색을 순차적으로 지정하고, startangle= 기능으로 첫 데이터(여기서는 1번 데이터)를 어떤 각도에서 그릴지 정합니다.

shadow= 기능은 말 그대로 그림자를 넣어 입체감을 줄 것인지,

explode= 파이를 밖으로 빼는 기능입니다. 여기서는 두번째 데이터를 0.1만큼 밖으로 뺐습니다.

autopct= 백분율을 그래프에 표시하는 기능입니다.


위 원형차트에 비해 더 정확하고 깔끔하게 표시된 것을 확인할 수 있습니다.




수고하셨습니다


댓글