컴공생의 다이어리
[파이썬, python] matplotlib - 막대그래프(bar, barh), 원그래프(pie) 본문
막대그래프(bar, barh)
bar() 함수는 수직 막대그래프를 표현하는 명령어이다. 막대그래프에서 막대의 길이는 각 데이터의 크기를 의미한다. 아래는 막대그래프의 예시 코드와 그 결과이다.
import matplotlib.pyplot as plt
plt.rc("font", family='NanumGothic')
plt.title("막대그래프(bar)")
x_data=[1,3,5,7,9]
y_data=[5,7,6,1,4]
plt.bar(x_data,y_data) #bar(막대를 표시할 위치, 막대의 높이)
plt.show()
barh() 함수를 통해 막대그래프를 수직이 아닌 수평 방향으로 그릴 수 있다.
import matplotlib.pyplot as plt
plt.rc("font", family='NanumGothic')
plt.title("막대그래프(barh)")
x_data=[1,3,5,7,9]
y_data=[5,7,6,1,4]
plt.barh(x_data,y_data)
plt.show()
원그래프(=파이 차트, pie)
pie() 함수는 전체 데이터 중 특정 데이터의 비율을 보기 쉽게 표현한다. 혹시 원이 찌그러져서 나온다면 axis() 함수를 추가하면 원을 동그랗게 그릴 수 있다.
import matplotlib.pyplot as plt
plt.rc("font", family='NanumGothic')
plt.title("원그래프(pie)")
data=[20,30]
#plt.axis('equal')
plt.pie(data)
plt.show()
레이블(lable) 추가
그래프에 레이블을 추가 하기 위해서는 pie() 함수의 labels 속성에 값을 넣어 각 항목의 의미를 쉽게 알아 볼 수 있게 할 수 있다.
import matplotlib.pyplot as plt
plt.rc("font", family='NanumGothic')
plt.title('혈액형 비율')
data=[2441,2312,1031,1234]
label=['A형','B형','AB형','O형']
plt.axis('equal')
plt.pie(data, labels=label)
plt.show()
비율 및 범례 추가
그래프에 비율을 표시하기 위해서는 pie() 함수의 autocpt 속성을 사용하여 각 항목의 비율을 표시할 수 있다. 그리고 그래프에 범례를 표시하기 위해서는 legend() 함수를 사용하면 된다.
import matplotlib.pyplot as plt
plt.rc("font", family='NanumGothic')
plt.title('혈액형 비율')
data=[2441,2312,1031,1234]
label=['A형','B형','AB형','O형']
plt.axis('equal')
plt.pie(data, labels=label,autopct='%.1f%%')
plt.legend()
plt.show()
색 및 돌출 효과 정하기
그래프에 색을 변경하기 위해서는 pie() 함수의 colors 속성을 사용하여 설정할 수 있다. 그리고 특정 비율이 돌출하는 효과는 pie() 함수의 explode 속성을 사용하여 설정할 수 있다. 0은 돌출되지 않음을 의미한다.
import matplotlib.pyplot as plt
plt.rc("font", family='NanumGothic')
plt.title('혈액형 비율')
data=[2441,2312,1031,1234]
label=['A형','B형','AB형','O형']
color=['olivedrab','yellow','limegreen','darkgreen']
plt.axis('equal')
plt.pie(data, labels=label,autopct='%.1f%%',colors=color,explode=(0,0,0.1,0))
plt.legend()
plt.show()
시작 각도 설정
pie() 함수의 startangle 속성으로 파이 차트의 시작 각도를 설정할 수 있다. startangle 속성 값을 90으로 설정하면 반시계방향으로 90도 이동하여, 12시 정각 위치에서 그래프가 시작된다.
import matplotlib.pyplot as plt
plt.rc("font", family='NanumGothic')
plt.title('남녀 비율')
data=[2441,1031]
label=['남자','여자']
plt.axis('equal')
plt.pie(data, labels=label,autopct='%.1f%%',startangle=90)
plt.legend()
plt.show()
728x90
'데이터 분석 & 머신러닝' 카테고리의 다른 글
[판다스, pandas] 여러 개의 컬럼 합치기 (0) | 2021.05.30 |
---|---|
[파이썬, python] matplotlib - 산점도(scatter), 버블(bubble) (0) | 2021.03.21 |
[파이썬, python] matplotlib - 꺽은 선(plot), 히스토그램(hist), 상자 그림(boxplot) (0) | 2021.03.20 |
[파이썬, python] matplotlib 그래프 옵션 - 제목(title), 범례(legend), 색상(color), 선 모양(linestyle), 마커 모양(marker) (0) | 2021.03.19 |
[판다스, pandas] 행 열 전환(transpose) (0) | 2021.03.19 |
Comments