티스토리 뷰

bar graph

  • x축이나 y축 중 하나의 값이 카테고리형일 경우 bar 형태의 그래프가 효과적임
  • 세로방향 바그래프 : plt.bar(x, y, color=[색상], width=폭)
  • 가로방향 바그래프 : plt.barh(x, y, color=[색상], width=폭)
  • 가로 <-> 세로 바그래프 형태를 전환할 때에는 눈금 설정값, 축 라벨 등의 값을 재설정해야함

 

세로 바그래프

 

y = [80, 70, 40, 90, 60, 90]
xlabel = ['국어', '수학', '영어', '과학', '미술', '체육']
plt.bar(xlabel, y)
plt.yticks(np.linspace(0, 100, 5))
plt.ylabel('점수')
plt.show()

 

 

 

가로 바그래프

y = [80, 70, 40, 90, 60, 90]
xlabel = ['국어', '수학', '영어', '과학', '미술', '체육']
plt.barh(xlabel, y)
plt.xticks(np.linspace(0, 100, 5))
plt.xlabel('점수')
plt.show()

 

 

 

 

 

바그래프 나란히 그리기

  • 바의 폭 크기 지정한 후, 수동으로 다음 그려질 그래프 위치를 지정해야함
x = np.arange(5)
women = [80, 70, 40, 90, 60]
men = [70, 80, 45, 75, 80]
child = [x-10 for x in men]
xlabel = ['국어', '수학', '영어', '과학', '미술']

bar_width = 0.3
plt.bar(x, women, width=bar_width, label='여자')
plt.bar(x + bar_width, men, width=bar_width, label='남자')
plt.bar(x + (bar_width*2), child, width=bar_width, label='미성년자')
plt.xticks(x + bar_width, xlabel)
plt.ylabel('점수')
plt.legend(loc='best')
plt.show()

 

 

바그래프 쌓아 그리기

  • 바 그래프를 쌓아서 스택 형태로 그릴 수 있음
  • 어떤 그래프를 아래에 둘 것인지 bottom 옵션으로 지정 필요
bar_width = 0.35
plt.bar(x, women, width=bar_width, label='여자', bottom=men)
plt.bar(x, men, width=bar_width, label='남자')
plt.xticks(x, xlabel)
plt.ylabel('점수')
plt.legend(loc='upper right')
plt.show()

댓글