kaggle :HorizontalBar (Q7)
kaggle dictation (06)
plotly.graph_objects as go: 를 이용한 bar graph
HorizontalBar plot /가로 막대 차트
0. data set
https://www.kaggle.com/miguelfzzz/the-typical-kaggle-data-scientist-in-2021
Subject : 가장 많이쓰는 programming 언어_Horizontal bar
1. data 읽어오기
Q7에는 sub가 많기 때문에 python 구문을 이용하여
‘Q7’ 이 붙어있는 컬럼 불러오기.
languages_cols = [col for col in df if col.startswith(‘Q7’)]
col 1부터 df 끝까지
Q7로 시작하는지 확인하여 true 일 때만 데이터 가져오기
1 | languages_cols = [col for col in df if col.startswith('Q7')] |
2. data Frame 만들어 주기
algorithms 에 data frame을 씌워서 표를 만들고, 이름을 다음과같이 바꿔줌.
1 | languages = df[languages_cols] |
3.표 설정.
1 | languages = ( |
- .count() :coulumn 수 세기
- .to_frame() : frame 생성
- .reset_index() : 원본과 상관없는 Index 생성
- .rename()
- columns의 이름을 지정 : ‘index’:’Languages’, 0:’Count’
- .sort_values()
- by=[‘Count’], ascending=False
- Count 기준으로 내림차순으로 정렬
3. percent 추가
1 | languages['percent'] = ((languages['Count'] / len(df))*100).round(2).astype(str) + '%' |
표에 ‘percent’를 추가
algorithms의 count에 df의 length로 나누고 *100을 하는 전형적인 % 나타내기
값자체에 %를 입력하여 나중에 %를 추가 입력하지 않아도 됨
소숫점 자리 2까지 반영(반올림).
type 자체를 String으로 하여 추가 계산은 불가능.
4. 색 지정
1 | colors = ['#033351',] * 13 |
5. bar Graph 만들기
1 | fig = go.Figure(go.Bar( |
horizontal과 vertical Graph의 차이는 x, y axis를 바꾸어 주는 것과
orientation=’h’ 을 넣어 주는 것의 차이.
6. update_traces()
traces() 수정 : Trace에 대한 설정
1 | fig.update_traces(texttemplate='%{text}', |
- texttemplate : text type
- textposition : ‘outside’ _ 설정 해 주지 않은 경우 칸에 따라 적당히 들어감.
- cliponaxis = False : text가 칸이 작아서 짤리는 경우를 막아주는 기능 (off)
- hovertemplate :
- 마우스 On하면 (커서를 위에 대면) 나오는 Hovert에대한 설정.
- textfont_size : 폰트 size
7. Design
1 |
|
- Grid Delete
- update_layout
- showlegend=False,
- plot_bgcolor=’#F7F7F7’
- margin=dict(pad=20),
- paper_bgcolor=’#F7F7F7’,
- xaxis={‘showticklabels’: False},
- x 축 labels을 삭제.
- yaxis_title=None,
- xaxis_title=None, yaxis={‘categoryorder’:’total ascending’},
- y 축 title을 categoryorder : 정렬
- title_text=”Most Commonly Used Algorithms“,
- title_x=0.5,
- font=dict(family=”Hiragino Kaku Gothic Pro, sans-serif”, size=15, color=’#000000’),
title_font_size=35)
8. Annotation
1 | fig.add_annotation(dict(font=dict(size=14), |
kaggle :HorizontalBar (Q7)
https://yoonhwa-p.github.io/2021/11/09/kgg/Kgg_plotly_Bar_H(3)/
install_url
to use ShareThis. Please set it in _config.yml
.