matplotlib.pyplot.xlim(min,max)
, matplotlib.pyplot.ylim(min,max)
matplotlib.pyplot.xticks(list)
, matplotlib.pyplot.yticks(list)
matplotlib.pyplot.grid(bool)
s06_mat6.py
생성import matplotlib.pyplot as plt
# range()를 이용하여 0~29까지의 수를 지정하고 list()를 이용하여 리스트 생성
xdata = list(range(30))
# ydata는 xdata의 각 요소에 2를 곱한 값을 갖도록 연산
ydata = []
for x in xdata:
y = 2*x
ydata.append(y)
# ydata2 = (2*numpy.array(xdata)).tolist()
# 선 그래프
plt.plot(xdata,ydata,label='y=2x')
# 범례의 위치 지정
plt.legend(loc='best')
# x축의 범위를 0~35로 지정
plt.xlim(0,35)
# y축의 범위를 0~70으로 지정
plt.ylim(0,70)
# x축과 y축 눈금 값 표시
plt.xticks(list(range(0,35,2)))
plt.yticks(list(range(0,70,5)))
# 그리드 표시
plt.grid(True)
# 화면에 출력
plt.show()
matplotlib.pyplot.pie()
s07_mat7.py
생성import matplotlib.pyplot as plt
from matplotlib import rc
# 한글이 표시될 수 있도록 폰트 지정
rc('font',family='Malgun Gothic')
# 레이블
pets = ['개','고양이','기타','기르지 않음']
# 데이터
portion = [18,3.4,3.1,75.5]
# 파이 그래프
plt.pie(portion,explode=(0,0.1,0,0),labels=pets,autopct='%.1f%%',shadow=True,startangle=90)
# 제목 표시
plt.title('총 가구 대비 반려동물을 기르는 비율(2018)')
# 화면에 출력
plt.show()
matplotlib.pyplot.scatter(x,y)
s08_mat8.py
생성import matplotlib.pyplot as plt
from matplotlib import rc
# 한글이 표시될 수 있도록 폰트 지정
rc('font',family='Malgun Gothic')
# 데이터
x = ['월','화','수','목','금','토','일']
y = [6.5,5.7,5.5,6.7,6.3,7.5,8.3]
# 제목 표시
plt.title('연간 요일별 평균 수면 시간')
# 산포 그래프
plt.scatter(x,y)
# 레이블 표시
plt.ylabel('수면 시간')
# 화면에 출력
plt.show()
.csv
s09_age.py
import matplotlib.pyplot as plt
from usecsv import opencsv
data = opencsv('age.csv', 'cp949')
result = []
name = input('인구 구조를 조회할 지역의 이름(읍면동 단위)을 입력하세요: ')
full_name = name
for row in data:
if name in row[0]: # 입력한 지역과 일치하는 행에 대해서만
if len(result)>0: # 신촌동처럼 동 이름이 같은 행정구역이 여럿인 경우 처음으로 등장하는 지역에 대해서만 처리
break
else:
for i in row[3:]: # 행정구역과 총계 열들을 제외하고
result.append(int(i.replace(',',''))) # 쉼표를 제거하고 정수로 변환
full_name = row[0].split('(')[0]
print(full_name,result[:5]) # 제대로 변환되었는지 미리보기
if result:
plt.style.use('ggplot')
plt.rc('font', family='Malgun Gothic') # 한글 지원 폰트 설정
plt.title(full_name + ' 지역의 인구 구조') # 제목 표시
plt.plot(result) # 선 그래프
plt.show() # 화면에 출력
else:
print('데이터가 없습니다.')
s10_age2.py
생성# 지정한 동네의 인구 구조를 막대 그래프로 표현
import matplotlib.pyplot as plt
from usecsv import opencsv
data = opencsv('age.csv', 'cp949')
result = []
name = '대흥동'
for row in data:
if name in row[0]:
if len(result)>0:
break
else:
for i in row[3:]:
result.append(int(i.replace(',','')))
name = row[0].split('(')[0]
print(name)
if result:
# 0세부터 100세 이상까지 101개의 구간
# plt.bar(range(101),result) # 수직 막대 그래프
plt.barh(range(101),result) # 수평 막대 그래프
plt.show() # 화면에 출력
else:
print('데이터가 없습니다.')