[데이터 시각화] 막대 그래프(matplotlib/pandas)
2020. 4. 25. 14:56ㆍProgramming Language/Python
반응형
■ 그래프 스타일
반응형
■ 그래프 범례 위치 해설
반응형
■ [matplotlib] 막대 그래프
matplotlib.pyplot.bar(x , y [ , options])
- x : x축 데이터
- y : y축 데이터
- options : 생략가능
- width : 막대 그래프 폭 (기본값 : 0.8)
- color : 막대 그래프 컬러 (기본값 : 'b' 파란색)
- align : 막대 그래프 위치 (기본값 : 'center' ) 선택값 : [center/edge]
- tick_label : 각각의 막대 그래프 라벨 지정 (기본값 : x축 데이터(숫자))
- label : 범례에 사용될 문자열 지정
▶ 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()
반응형
■ [pandas] 막대 그래프
DataFrame_obj.plot.bar([ , options])
- options : 생략가능
- width : 막대 그래프 폭 (기본값 : 0.4)
- color : 막대 그래프 컬러 (기본값 : 'b' 파란색)
- align : 막대 그래프 위치 (기본값 : 'center' ) 선택값 : [center/edge]
- title : 막대 그래프 타이틀
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()
반응형
SOURCE CODE
반응형
'Programming Language > Python' 카테고리의 다른 글
[데이터 시각화] 파이 그래프(matplotlib/pandas) (0) | 2020.04.27 |
---|---|
[데이터 시각화] 히스토그램(matplotlib/pandas) (0) | 2020.04.26 |
[디자인 시각화] 산점도 (matplotlib/pandas) (0) | 2020.04.24 |
[데이터 시각화] 그래프 디자인 약어 정리 (그래프 색/그래프 선 스타일/ 마커/기타 스타일) (0) | 2020.04.24 |
[데이터 시각화] 선 그래프 (matplotlib/pandas) (0) | 2020.04.23 |