▶ 2개 이상의 막대그래프와 비교할 경우 막대 라벨은 xticks로 지정한다(tick_label은 단일일 경우 사용)
▶ plt.bar(label='문자열')을 통해 범례값이 지정되므로 plt.legend() 호출만으로 범례 출력가능
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
# 그래프에 한글 출력시 폰트 변경 (기본폰트 : sans-serif)
matplotlib.rcParams['font.family'] = 'Malgun Gothic'
# 그래프에서 마이너스(-)폰트 깨짐 방지
matplotlib.rcParams['axes.unicode_minus'] = False
# 멤버 이름
member_name = ['A','B','C','D']
# 막대 그래프 너비값
bar_width = 0.4
# 운동 전 데이터
before_data = [56,70,46,90]
# 운동 후 데이터
after_data = [70,75,60,100]
# x축 데이터 [0,1,2,3]
index = np.arange(len(member_name))
# before 막대 그래프
plt.bar(index, before_data, color = 'r', align='edge', width=bar_width, label='before')
# after 막대 그래프
plt.bar(index + bar_width, after_data, color = 'c', align='edge', width=bar_width, label='after')
# after 막대 그래프 x축 데이터에 맞춰 라벨 지정
plt.xticks(index + bar_width, member_name)
# plt.bar(label='문자열')을 통해 범례지정
plt.legend()
# x축 라벨
plt.xlabel('회원 이름')
# y축 라벨
plt.ylabel('팔굽혀펴기 횟수')
# 타이틀
plt.title('운동 시작 전과 후 비교')
plt.show()
import matplotlib
import matplotlib.pyplot as plt
import pandas as pd
# 그래프에 한글 출력시 폰트 변경 (기본폰트 : sans-serif)
matplotlib.rcParams['font.family'] = 'Malgun Gothic'
# 그래프에서 마이너스(-)폰트 깨짐 방지
matplotlib.rcParams['axes.unicode_minus'] = False
# 멤버 이름
member_name = ['A','B','C','D']
# 막대 그래프 너비값
bar_width = 0.4
# 운동 전 데이터
before_data = [56,70,46,90]
# 운동 후 데이터
after_data = [70,75,60,100]
# DataFrame 객체 생성
# index : x축 데이터 자동 지정
# 컬럼 : 범례문자열 자동 지정
dataframe_bar = pd.DataFrame({'before': before_data, 'after': after_data}, index=member_name)
# 막대 그래프 색은 비교 막대 그래프가 2개이므로 ['r','c'] 두개의 컬러로 지정
ex_bar = dataframe_bar.plot.bar(color=['r','c'],width=0.8, title='운동 시작 전과 후 비교')
# 같은 그래프 생성
# ▶ ex_bar = dataframe_bar.plot(kind='bar',color=['r','c'],width=0.8, title='운동 시작 전과 후 비교')
# x축 라벨
ex_bar.set_xlabel('회원 이름')
# y축 라벨
ex_bar.set_ylabel('팔굽혀펴기 횟수')
plt.show()