✅혼자 공부하는 데이터 분석 with 파이썬
진도: Chapter 06
기본미션: p. 344의 손코딩(맷플롯립의 컬러맵으로 산점도 그리기)을 코랩에서 그래프 출력하고 화면 캡처하기
선택미션: p. 356 ~ 359의 스택 영역 그래프를 그리는 과정을 정리하기
1) 기본미션: p. 344의 그래프 출력하고 화면 캡처
fig, ax = plt.subplots(figsize=(10, 8))
sc = ax.scatter(ns_book8['발행년도'], ns_book8['출판사'],
linewidths=0.5, edgecolors='k', alpha=0.3,
s=ns_book8['대출건수']**1.3, c=ns_book8['대출건수'], cmap='jet')
ax.set_title('출판사별 발행도서')
fig.colorbar(sc)
fig.show()
matplotlib 칼러맵
https://matplotlib.org/stable/api/_as_gen/matplotlib.colors.Colormap.html
2) 선택미션: p. 356 ~ 359의 스택 영역 그래프를 그리는 과정을 정리하기
fig, ax = plt.subplots(figsize=(8, 6))
ax.stackplot(year_cols, ns_book10.loc[top10_pubs].fillna(0), labels=top10_pubs)
ax.set_title('년도별 대출건수')
ax.legend(loc='upper left')
ax.set_xlim(1985, 2025)
fig.show()
스택 영역 그래프: 선 그래프 위에 다른 선 차곡차곡 쌓은 그래프
y축: 행-출판사, 열-발행년도
pivot_table() 이용해서 각 발행년도 열 값을 원하는 배열로 바꾸기
index 매개변수에는 행 인덱스로 사용할 열이름, columns 매개변수에는 열 인덱스로 사용할 열 이름 넣기
ns_book10 = ns_book9.pivot_table(index='출판사', columns='발행년도')
x축: 발행년도 열을 리스트 형태로 바꾸기 get_level_values()를 이용해서 다단으로 구성된 열 이름(대출건수, 발행년도)에서 선택한 항목(두번째1인 발행년도)만 가져오기
year_cols = ns_book10.columns.get_level_values(1)
스택 영역 그래프 그리기:
matplotlib의 stackplot()에 y축과 x축 값을 지정해서 그래프 그리기
method fillna() 대출이 없는 (NaN) 해당 년도 데이터를 0으로 채워 줌
상위 10개 출판사만 그리자
ax.stackplot(year_cols, ns_book10.loc[top10_pubs].fillna(0), labels=top10_pubs)
자료 모음:
🙋♂️Q&A: 박해선 저자님의 혼공분석 github
💻유튜브 강의: 👉전체 강의 목록