728x90
반응형
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
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 파이(pie) 차트 (0) | 2022.11.06 |
---|---|
[파이썬] 화면캡쳐 (0) | 2022.11.06 |
[파이썬] 문제 : 터틀 몇각형,길이 입력 받고 그리기 (0) | 2022.11.04 |
[파이썬] 문제 : 터틀로 방향 및 이동거리 입력 받아 이동하기 (0) | 2022.11.04 |
[파이썬] 문제 : 두 리스트 중 중복된 항목 찾기 (0) | 2022.11.04 |
댓글