-
실무에서 바로 써먹을 데이터 분석 - 시각화(3) 막대차트보통날의/데이터 시각화 공부 2020. 8. 3. 09:44
매경이코노미에 실린 기사 '코로나 충격'에 3.3% 감소 22년만에 최저
[종합] News Briefing - 매경이코노미
▶한국은행, 2분기 국내총생산(GDP) 성장률 발표 ▷‘코로나 충격’에 3.3% 감소…22년 만에 最低 신종 코로나바이러스 감염증(코로나19) 충격으로 올해 2분기 한국 경제가 직전 분기 대비 3% 이상 ��
news.mk.co.kr
이 기사처럼 x축 라벨을 그래프 속에 넣어보고자 그래와 같은 그래프를 그려보았다
data = { 'GDP 성장률':[0.8,0.7,1.5,-0.1, 1.1,0.6,0.6,0.9, -0.3,1,0.4,1.3, -1.3,-3.3] } df_index = [] # x 축의 날짜를 일정 패턴에 따라서 생성하기 for y in np.arange(17,21): years = ['{}Q{}'.format(y,i) for i in np.arange(1,5)] df_index+=years plot_data = pd.DataFrame(data,index=df_index[:-2]) #그래프의 사이즈와 색상 설정 face_color = '#F4F5F0' bar_color = '#517519' fig=plt.figure(figsize=(12,4),facecolor=face_color) ax = fig.add_subplot(1,1,1) x_lbl = plot_data.index x = np.arange(len(x_lbl)) for col in plot_data.columns: y = plot_data[col] ax.bar(x,y,color=bar_color) for x1,y1 in zip(x,y): ax.annotate(y1,xy=(x1,y1+0.1 if y1 >= 0 else y1-0.4), ha='center', fontsize=13,fontweight='bold') # x축의 라벨을 그래프에 넣기 for x1,lbl in zip(x,x_lbl): ax.annotate(lbl,xy=(x1,0.1),ha='center',fontweight='bold', color='black' if x1 in [3,8,12,13] else 'white', fontsize=11.5) # 그래프 꾸미기 ax.set_ylim(y.min()-0.5,y.max()+1) ax.set_facecolor(face_color) ## subplot의 테두리 지우기 for side in ['left','right','top','bottom']: ax.spines[side].set_visible(False) # 테두리와 틱 그리고 y축의 라벨 지우기 plt.tick_params(axis='both',which='both',bottom=False,left=False) ax.set_yticklabels([]) ax.set_xticklabels([]) # 타이틀과 텍스트 추가 title = '분기별 실질 국내총생산(GDP) 증감률' ax.set_title(title,fontsize=20,fontweight='bold',loc='left') ax.text(8,2.7,'(단위 : %)',ha='right',fontsize=13) ax.text(-1,-3.8,'*자료: 한국은행 *계절조징계열 전기 대비, 2020년 분기는 잠정치',ha='left',fontsize=13)
'보통날의 > 데이터 시각화 공부' 카테고리의 다른 글
실무에서 바로 써먹을 데이터 분석 - 시각화(2) 병렬 막대차트 (0) 2020.07.31 실무에서 바로 써먹을 데이터 분석 - 시각화(1) 막대차트 (0) 2020.07.26