본문 바로가기

프로그래밍/Python

[python] 막대그래프 (bar chart) 위에 수치 표시하기

x = dfcb['존속년수구분'].tolist()
y = dfcb['사업장명'].tolist()
plt.figure(figsize=(8,6)) #그래프 크기

bar = plt.bar(x,y)
#그래프 수치 표현
for rect in bar:
    height = rect.get_height()
    plt.text(rect.get_x()+rect.get_width()/2.0,height,  height, ha = 'center',va='bottom',size=12)

plt.xticks(rotation=45)  # x축 45도 회전

plt.title('존속년수 비교')
plt.xlabel('존속년수')
plt.ylabel('가게수')
plt.show()

x , y 값엔 리스트 형태의 값이 나와야 한다.

그래서 시리즈 형태를 리스트 형태로 변환해주었다.

 

x축의 폭에 비해 글씨가 길면 잘리는 경우가 있어 x축을 45도 회전해주었다. 

 

+ 그룹화된 데이터를 그대로 사용하면 수치(라벨)을 표시하는 방법을 찾기 어려우니

reset_index()를 한 후 사용해주세요!!!!   

 

참고 

https://jimmy-ai.tistory.com/24

 

[Matplotlib] plt 선, 바 그래프 위에 숫자, 값 표시하는 방법

matplotlib으로 여러 형태의 그래프를 그리다보면 그래프 위에 값을 새기고 싶은 경우가 있을 것입니다. 이번 포스팅에서는 matplotlib에서 선 그래프 혹은 바 그래프 위에 해당 그래프의 값을 표시하

jimmy-ai.tistory.com