💻프로그래밍/🕵️♀️모두의데이터분석
[파이썬] 08. 막대그래프/수평막대그래프/항아리모양그래프
hyerimmy
2021. 1. 26. 19:12
📅 스터디 날짜 | 2021.01.22
📖 모두의 데이터 분석 | Unit 08 p109-123
#1 막대그래프
- 막대그래프에서 막대의 길이는 각 데이터의 크기를 의미한다.
- bar() : 막대그래프를 표현하는 명령어, 두 가지 매개변수가 필요하다.
- bar(막대를 표시할 위치, 막대의 높이) 두 종류의 값들은 개수가 일치해야 함.
- range() 함수를 사용해서 막대 그래프 위치 표현할 수 있다.
plt.bar(range(6), [1,2,3,4,6,7]) - barh() : 수평막대그래프로 표현하는 명령어
import matplotlib.pyplot as plt
plt.bar([0,1,2,4,6,10], [1,2,3,5,6,7])
plt.show()
#range 함수를 활용해 막대그래프 표현
plt.bar(range(6), [1,2,3,5,6,7])
plt.show()
import csv
f = open('age.csv')
data = csv.reader(f)
result = []
for row in data :
if '신도림' in row[0] : #신도림의 데이터 중
for i in row[3:] : #0세부터 100세이상 인구수를
result.append(int(i)) #result 리스트에 입력
import matplotlib.pyplot as plt
#막대그래프
plt.bar(range(101), result)
plt.show()
#수평막대그래프
plt.barh(range(101), result)
plt.show()
#2 항아리 모양 그래프
- 남성 데이터를 리스트 m에, 여성 데이터를 리스트 f에 각각 저장한다.
- 여성데이터 저장하는 방법 1
- 여성 데이터의 경우 뒤에서 첫 번째 데이터(index -1)부터 순차적으로 저장한 후, 역순으로 뒤집는다.
- reverse() : 리스트의 값을 역순으로 재배열하는 함수
- 여성데이터 저장하는 방법2
- index 106번 값부터 차례대로 저장한다.
- 남성데이터를 왼쪽에 출력하기 위해, m리스트의 값들을 모두 음수로 바꾼다.
- 마이너스기호(-) 깨짐 해결 plt.rcParams['axes.unicode_minus']=False
# 남성 데이터와 여성 데이터를 각각수평 막대 그래프로 나태내기
import csv
f = open ('gender.csv')
data = csv.reader(f)
m=[]
f=[]
name = input('인구 구조가 알고 싶은 지역의 이름(읍면동 단위)을 입력해 주세요 : ')
for row in data :
if name in row[0] :
for i in row[3:104] : # index 3~104 값
m.append(-int(i)) # 왼쪽에 출력하기 위해 음수로 변환해 m리스트에 저장
for i in row[106:] : # index 106~ 값
f.append(int(i)) # f리스트에 저장
import matplotlib.pyplot as plt
#plt.rc('font',family='Malgun Gothic') #글꼴설정
plt.title(name + '지역의 남녀 성별 인구 분포') #제목설정
plt.rcParams['axes.unicode_minus']=False # - 기호 깨짐 해결
plt.barh(range(101),m, label = '남성')
plt.barh(range(101),f, label = '여성')
plt.legend()
plt.show()
😌
휴