반응형

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다.

코딩유치원에서는 파이썬 기초부터 사무자동화, 웹크롤링, 데이터 분석 등의 다양한 패키지까지 초보자도 알기 쉽도록 내용을 정리해 놓았습니다.

업무는 물론 투자에도 도움이 될만한 전자공시시스템(DART) 텔레그램(Telegram) 관련 패키지도 배울 수 있으니 많은 관심 부탁드립니다.

 

 

<데이터 분석 관련 글>

 

2021.07.21 - [파이썬 패키지/데이터분석] - [코딩유치원] 비전공자도 쉽게 이해하는 데이터 분석 프로세스 (ft. 수집, EDA, 전처리, 모델링)

2021.04.12 - [파이썬 패키지/데이터분석] - [파이썬 데이터 분석] 1편. 데이터는 금이다 (feat.데이터 관련 직업 소개)

2021.04.13 - [파이썬 패키지/데이터분석] - [파이썬 데이터 분석] 2편. 데이터 분석을 위한 준비 (Jupyter Notebook 설치 및 사용법)

2021.04.14 - [파이썬 패키지/데이터분석] - [파이썬 데이터 분석] 3편. 데이터 분석 필수 패키지, 판다스! (feat. 10 minutes to pandas)

2021.04.15 - [파이썬 패키지/데이터분석] - [파이썬 데이터 분석] 4편. 데이터 분석을 위한 데이터 다운로드 받기 (feat.공공데이터포털)

2021.04.16 - [파이썬 패키지/데이터분석] - [파이썬 데이터 분석] 5편. Jupyter Notebook으로 데이터 파일 불러오기 (꿀팁. Tap과 Tap+Shift 사용법은 꼭 알아두세요!!)

2021.04.17 - [파이썬 패키지/데이터분석] - [파이썬 데이터 분석] 6편. 데이터 분석에서 결측치란? (feat. 주피터 노트북 Pandas 관련 함수)

2021.04.18 - [파이썬 패키지/데이터분석] - [파이썬 데이터 분석] 7편. 원하는 이름의 열 & 특정 문자열을 포함한 데이터 인덱싱하기

2021.07.24 - [분류 전체보기] - [파이썬 데이터 분석] 9편. 데이터 시각화 맛보기(ft. 15~20년 전국 민간아파트 분양가 데이터)

2021.07.25 - [파이썬 패키지/데이터분석] - [파이썬 데이터 분석] 10편. 데이터 프레임 배치를 내맘대로! (ft. pivot-table, groupby, multi-index)

 

 


 

이번 시간에는 지난 시간에 다루어 보았던 bar-chart-race의 파라미터 설정 방법에 대해서 정리해보겠습니다.

 

간단한 사용법은 지난 글을 참고해주세요.

 

2021.07.26 - [파이썬 패키지/데이터분석] - [Python/bar-chart-race] 움직이는 막대 차트 시각화(ft. 12-20년 프리미어리그 클럽별 점수)

 

[Python/bar-chart-race] 움직이는 막대 차트 시각화(ft. 12-20년 프리미어리그 클럽별 점수)

안녕하세요, 왕초보 코린이를 위한 코딩유치원에 오신 것을 환영합니다. 코딩유치원에서는 파이썬 기초부터 사무자동화, 웹크롤링, 데이터 분석 등의 다양한 패키지까지 초보자도 알기 쉽도

coding-kindergarten.tistory.com

 

 

설정 가능한 파라미터들과 설정 값은 아래에 표로 정리해보았습니다.

 

너무 많은 옵션이 있어서 별로 사용하지 않을 것 같은 옵션은 생략하였습니다.

 

파라미터 설정 값 기본 값
df Pandas Data Frame -
filename 1) None: HTML5 기반의 에니메이션 출력 (주피터 노트북 사용 시)

2) 원하는 파일명 + 확장자명(.mp4, .gif, .html, .mpeg, .mov 등등)
    - 단, 이 기능을 사용하려면 ffmpeg를 설치해야함. (gif는 ImageMagick 설치)
None
orientation 1) 수평 막대 차트: 'h'
2) (수직) 막대 차트: 'v'
'h'
sort 1) 내림차순: 'desc'
2) 오름차순: 'asc'
desc
n_bars 출력할 막대의 갯수: int None
fixed_order 1) False : sort에서 설정한 내림차순 혹은 오름차순
2) True: 최종값 기준 sort된 순서
3) list: 원하는 순서 (리스트 요소는 '컬럼명')
False
fixed_max 1) False: 실시간으로 가장 큰 막대에 맞춰 그래프의 축에 표시된 숫자가 늘어남 (정신없음)
2) True: 최종값 기준으로 그래프 스케일이 고정 (추천)
False
steps_per_period 애니메이션의 부드러움과 관련된 설정: int
- 하나의 기간(행)이 넘어가는데에 사용되는 프레임 숫자로서 그 숫자가 클수록 부드러움 
10
period_length 차트 증가 속도(하나의 기간이 넘어가는데에 걸리는 시간) 설정: int
- 단위는 밀리세컨드, 즉 기본값 500은 0.5초
- 만약 데이터의 행이 많을 때는 끝까지 보는데에 시간이 걸리므로 시간을 줄여주면 됨
500
label_bars 1) True: 차트 오른쪽에 값(Values)을 표시 (추천)
2) False: 미표시
True
bar_size 바의 크기를 비율로 셋팅: float
- bar_size = 1 이면 바 사이에 공간이 없이 모두 붙어있음 (그냥 기본값이 좋을 듯)
0.95
period_label 우측 하단의 기간(period) 정보 출력 여부: True/False True
period_fmt period 표시 형식 설정

ex) 행 index가 2020-04-03와 같은 포맷인 경우,
       period_fmt='%b %-d, %Y' 로 설정해주면 Apr 3, 2020으로 출력됨
None
figsize 그래프 사이즈 설정 / matplotlib과 동일 : (x, y) (6, 3.5)
cmap 차트 색상 설정 : matplotlib의 colormap 설정과 동일

- cmap 종류는 아래의 링크 참조
https://codetorial.net/matplotlib/set_colormap.html
None
title 1) '원하는 타이틀 명'

2) None (설정 안하면 타이틀 없음)
None
title_size title을 설정했을 때 사이즈 설정: int None
bar_label_size 막대 차트 왼쪽의 글자 크기 설정: int 7
tick_label_size 막대 차트 오른쪽의 글자 크기 설정: int 7
shared_fontdict 글꼴 설정: dict

ex) shared_fontdict
       ={'family':'Helvetica','weight':'bold','color':'rebeccapurple'})
None
scale 리니어 스케일 / 로그 스케일 설정

1) 'Linear'
2) 'log'
'Linear'
dpi 그래프 표현 선명도 (평방 인치당 도트 수): int 144
bar_kwargs 막대 꾸미기 설정 (투명도, 테두리 스타일 등등)

ex) bar_kwargs={'alpha': .2, 'ec': 'black', 'lw': 3}
None
filter_column_colors 색상 반복 줄이기 옵션

1) True: 그래프 색 중복 시 설정해주면 조금 덜함
- 기본적으로  cmap의 색 종류가 많은 것을 사용하는 것이 좋음
False

 

하나하나 적용 결과를 모두 이 글에 포함하기에는 너무 글이 길어질 듯 해서 공식문서의 Tutorial 링크로 대신할테니 참고해주시면 좋을 것 같아요.

 

https://www.dexplo.org/bar_chart_race/tutorial/

 

Tutorial - Bar Chart Race

Animated bar chart races in Python with the bar_chart_race package

www.dexplo.org

 

 

참고로 공식문서의 리비전 이력에는 2020년 7월에 Version 0.2가 출시 예정이며, 거기에는 line_chart_race가 새로 나올 것이라고 되어있지만 아직 2020년 1월의 Version 0.1이 최신 버전이네요.

 

아래는 Flourish라는 데이터 시각화 서비스에서 가능한 line-chart-race인데, 0.2버전이 얼른 나와서 이것도 파이썬으로 가능해지면 좋겠습니다.

 

언젠가 코딩 실력이 늘어나면 이런 동적 시각화 패키지를 만들어 보고 싶네요. 

반응형

+ Recent posts