Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 가상환경
- queue
- dataframe
- String Method
- 알고리즘 스터디
- Join
- 데이터시각화
- programmers
- Algorithm
- type hint
- 알고리즘스터디
- Selenium
- javascript
- pandas
- Matplotlib
- 노마드코딩
- aws jupyter notebook
- python
- 파이썬
- 정보처리기사 c언어
- 백준
- Stack
- NumPy
- 코딩테스트
- MySQL
- 자료구조
- 프로그래머스
- 선그래프
- 알고리즘
- openCV
Archives
- Today
- Total
조금씩 꾸준히 완성을 향해
[Matplotlib/Pandas] 선 그래프 그리기 (+데이터 불러오기 및 처리하기) 본문
데이터 불러와서 처리하기
▶ 필요한 라이브러리 가져오기
# import library
import matplotlib.pyplot as plt
import pandas as pd
▶ 엑셀파일 열어서 저장
df_move = pd.read_excel('/content/drive/MyDrive/ Encore Prac/시도별 전출입 인구수.xlsx')
df_move
▶ 결측치 처리
df_move = df_move.fillna(method='ffill') #결측치(NaN)을 앞 데이터로 채움
df_move.head(4) #상위 4행만 확인
▶ 데이터 추출해서 정리 (서울에서 다른 지역으로 이동한 인구 데이터만 추출)
# 전출지는 서울이고, 전입지는 서울이 아닌 데이터 추출
df_seoul = df_move[(df_move.전출지별=='서울특별시')&(df_move.전입지별!='서울특별시')]
df_seoul.head(2)
▶ 불필요한 열 삭제 및 열 이름 변경
df_seoul = df_seoul.drop('전출지별', axis=1) #'전출지별' 열 삭제
df_seoul.rename(columns={"전입지별":"전입지"},inplace = True) #'전입지별'열 이름 '전입지'로 변경
df_seoul.head(2)
▶ index 변경
# '전입지' 열을 df_seoul의 인덱스로 설정
df_seoul.set_index("전입지",inplace = True)
df_seoul.head(2)
▶ 필요한 데이터 값 선택해서 저장
# 서울에서 경기도로 이동한 인구만 시리즈 객체로 저장
sr_one = df_seoul.loc['경기도']
matplotlib 선 그래프 그리기
▶ x축, y축 설정해서 그래프 그리기
#시리즈의 인덱스를 x축, 시리즈의 값들을 y축으로 하는 선 그래프 그리기
plt.plot(sr_one.index, sr_one.values)
▶ 차트 제목, 축이름 추가
- 제목 : title()
- x축 : xlabel(), y축: ylabel()
☆주의!! 그래프를 그릴 때에는 플롯 만들기부터 show()까지 한 작업창에 있어야 함
plt.plot(sr_one.index, sr_one.values) #플롯 만들기
plt.title('서울 -> 경기 인구 이동',fontproperties=mg) #제목 지정
plt.xlabel('기간',fontproperties=mg) #x축 이름 지정
plt.ylabel('이동 인구수',fontproperties=mg) #y축 이름 지정
plt.show()
※ 참고! fontproperties=mg 속성은 한글 폰트 깨짐 문제가 있을 때 사용한다. 자세한 설정은 다음 포스팅에서 다루겠다.
▶ 그래프 사이즈 조절, y축 범위 조절, x축 라벨 회전
- 플롯의 사이즈 변경 : plt.figure(figsize=(14,5)) #(가로, 세로)
- y축 범위 조절 : plt.ylim=(0, 6000) #(start, end)
- x축 라벨 회전 : plt.xticks(rotation=) / rotation='vertical' (세로회전), rotation=70 (70도 회전)
plt.figure(figsize=(14,5)) #(가로,세로) 사이즈 지정
plt.ylim(0, 700000) #y축의 범위 지정
plt.plot(sr_one.index, sr_one.values) #플롯 만들기
plt.title('서울 -> 경기 인구 이동',fontproperties=mg) #제목 지정
plt.xlabel('기간',fontproperties=mg) #x축 이름 지정
plt.ylabel('이동 인구수',fontproperties=mg) #y축 이름 지정
plt.xticks(rotation=70) #축 라벨 70도 회전
plt.show()
더 세부적인 꾸미기나 스타일 지정, 기능 들은 추후 포스팅에...
'Python > 데이터 시각화' 카테고리의 다른 글
[Matplotlib] 다양한 그래프 그리기(면적그래프, 막대그래프, 보조축 활용) (0) | 2022.10.01 |
---|---|
[Matplotlib] 그래프 여러개 그리기(화면 분할/그래프 분할) (0) | 2022.10.01 |
[Matplotlib] 그래프 주석 달기 & 마커 지정 (0) | 2022.09.30 |
[Matplotlib] 그래프 스타일 지정 (그래프 디자인 변경) (0) | 2022.09.30 |
[Matplotlib] Google Colab 한글 깨짐 (최후의 해결책) (0) | 2022.09.29 |