본문 바로가기
프로그램

[파이썬] 문제 : 사망사유별 데이터 Chart 그리기

by 오디세이99 2022. 11. 6.
728x90
반응형

 

die.csv
0.00MB

import pandas as pd
import matplotlib.pyplot as plt

data = pd.read_csv('E:/RnD/지식IN/die.csv', sep=',', encoding='cp949')   # csv파일을 pandas로 읽기
data = data.drop('Unnamed: 21', axis=1)

def add_value_label(x_list,y_list):           # bar chart에 값을 text로 표시
    for i in range(1, len(x_list)+1):
        plt.text(i-1,y_list[i-1],y_list[i-1])

fig = plt.figure(figsize=(16, 8))            # plot 크기 설정
plt.rcParams['font.family'] = 'NanumGothic'  # 한글 가능하도록 폰트 설정
plt.subplots_adjust(hspace=0.35)             # chart간 겹치지 않도록 함. 위.아래 Chart의  Title이 겹침 제거

f_size = 16                  # 제목 폰트 크기
plt_row = 3                  # plot row수
plt.subplot(3, 2, 1)         # 첫번째  plot
x_column = '1~9세'
y_column = '사망자'
x = data[x_column][:5]       # 상위 5개 이름
y = data[y_column][:5]       # 상위 5개 데이터
plt.bar(x, y)                # bar chart 그리기
add_value_label(x, y)        # 값 표시
plt.title(x_column + " 사망사유",fontsize=f_size)  # 제목 쓰기

plt.subplot(3, 2, 2)
x_column = '10대'
y_column = '사망자.1'
x = data[x_column][:5]
y = data[y_column][:5]
plt.bar(x, y)
add_value_label(x, y)
plt.title(x_column + " 사망사유",fontsize=f_size)

plt.subplot(3, 2, 3)
x_column = '20대 '
y_column = '사망자.2'
x = data[x_column][:5]
y = data[y_column][:5]
plt.bar(x, y)
add_value_label(x, y)
plt.title(x_column + " 사망사유",fontsize=f_size)

plt.subplot(3, 2, 4)
x_column = '30대'
y_column = '사망자.3'
x = data[x_column][:5]
y = data[y_column][:5]
plt.bar(x, y)
add_value_label(x, y)
plt.title(x_column + " 사망사유",fontsize=f_size)

plt.subplot(3, 2, 5)
x_column = '40대'
y_column = '사망자.4'
x = data[x_column][:5]
y = data[y_column][:5]
plt.bar(x, y)
add_value_label(x, y)
plt.title(x_column + " 사망사유",fontsize=f_size)

plt.subplot(3, 2, 6)
x_column = '50대'
y_column = '사망자.6'
x = data[x_column][:5]
y = data[y_column][:5]
plt.bar(x, y)
add_value_label(x, y)
plt.title(x_column + " 사망사유",fontsize=f_size)

plt.show()

728x90
반응형

댓글