Oracle SQL
데이터 분석에서 다루는 데이터의 종류는 매우 다양합니다.
따라서 다양한 종류에 따라 알맞은 시각화 방법을 알아야 합니다.
Matplotlib 모듈은 평면 그래프에 대한 다양한 포맷, 시각화 기능을 제공합니다.
# 선 그래프
import pandas as pd
import matplotlib.pyplot as plt
## 데이터 전처리
df=pd.read_excel('d:\\판다스 실습\\인구수데이터.xlsx')
df.fillna(method='ffill',inplace=True)
mask=(df['전출지별']=='서울특별시') &(df['전입지별']!='서울특별시')
df2=df[mask]
df2.drop('전출지별',axis=1,inplace=True)
df2.rename({'전입지별':'전입지'},axis=1,inplace=True)
df2.set_index('전입지',inplace=True)
data=df2.loc['경기도']
plt.rcParams["figure.figsize"] = (14,4) # 그래프 크기
plt.rc('font',size=15) # 글씨 크기
plt.xticks(rotation=90) # x축 글씨 회전
plt.plot(data.index,data.values)
Matplotlib 역시 기본 그래프는 판다스 내장 그래프와 같이
라인 그래프 입니다.
# 제목(title), 축 이름(label) 달기
plt.xticks(rotation=90)
plt.title('인구 이동')
plt.xlabel('년도')
plt.ylabel('이동수')
plt.plot(data.index,data.values)
plt.show()
한글로 지정하면 오류가 발생합니다.
해결하는 방법은 올려 두었습니다!
# 범례(legned) 달기
범례는 plt.plot으로 그래프를 그리는 코드 이후
내용과 위치를 작성합니다
plt.xticks(rotation=90)
plt.title('인구 이동')
plt.xlabel('년도')
plt.ylabel('이동수')
plt.plot(data.index,data.values)
# 범례
plt.legend(labels=['서울->경기'],loc='best')
plt.show()
# 그래프 여러 개 나눠 그리기 (axe)
여러개의 화면으로 분할해 그래프를 그리는 방법입니다.
여러 개의 axe 객체를 만들고, 분할된 화면마다 axe 객체를 하나씩 배정합니다.
1. figure() 함수로 그림 틀 만들기
2. figsize 옵션으로 크기 설정하기
3. fig 객체의 add_subplot 메소드 사용해 그림틀 분할
나눠진 각 부분 -> axe
fig=plt.figure(figsize=(10,10))
ax1=fig.add_subplot(1,2,1) # 1행 2열의 그래프 중 1번째 (1,1)
ax2=fig.add_subplot(1,2,2) # 1행 2열의 그래프 중 2번째 (1,2)
ax1.plot(data.iloc[0:24],'o')
ax2.plot(data.iloc[25:],marker='s',markerfacecolor='red')
# 하나의 그래프에 여러 데이터 그리기
같은 화면에 그래프를 추가할 수도 있습니다.
df2.replace('-',0,inplace=True)
df2=df2.loc[['경기도','충청남도','대구광역시']]
plt.figure(figsize=(15,5))
plt.plot(df2.columns,df2.loc['경기도',:],marker='o',markerfacecolor='red',label='서울->경기')
plt.plot(df2.columns,df2.loc['충청남도',:],marker='o',markerfacecolor='blue',label='서울->충남')
plt.plot(df2.columns,df2.loc['대구광역시',:],marker='o',markerfacecolor='green',label='서울->대구')
plt.xticks(rotation=90)
plt.legend(loc='best')
plt.show()
# Matplotlib 꾸미기 옵션
선 그래프를 꾸미는 옵션입니다!
'o' : 점 그래프로 변환
marker='ㅇ' : 마커의 모양 ('o', '+', '*' ....)
markerfacecolor=green : 마커의 색상
markersize=5 : 마커의 크기
color = 'blue' : 선의 색상
linewidth=10 : 선의 두께
label='서울->경기' 범례, 라벨 지정
# Matplotlib 스타일 바꾸기
Matplotlib 그래프는 여러가지 스타일이 있습니다.
스타일을 확인하는 방법입니다.
plt.style.available
스타일을 적용해 보겠습니다 'ggplot'
df2.replace('-',0,inplace=True)
df2=df2.loc[['경기도','충청남도','대구광역시']]
plt.style.use('ggplot')
plt.figure(figsize=(15,5))
plt.plot(df2.columns,df2.loc['경기도',:],marker='o',markerfacecolor='red',label='서울->경기')
plt.plot(df2.columns,df2.loc['충청남도',:],marker='o',markerfacecolor='blue',label='서울->충남')
plt.plot(df2.columns,df2.loc['대구광역시',:],marker='o',markerfacecolor='green',label='서울->대구')
plt.xticks(rotation=90)
plt.legend(loc='best')
plt.show()
# Matplotlib 색 종류 확인하기
그래프를 그릴 때 사용할 수 있는 색상의 종류 입니다.
다양한 색상이 존재하고, 이를 확인하는 코드입니다!.
import matplotlib
matplotlib.colors.cnames.keys()
'프로그래밍 > Pandas' 카테고리의 다른 글
[Pandas] 데이터 전처리 | Seaborn | 누락 데이터 | 중복 데이터 (2) | 2021.02.09 |
---|---|
[Pandas] 데이터 시각화 | Matplotlib | 파이차트 | 박스그래프 (0) | 2021.02.04 |
[Pandas] 데이터 시각화 | Matplotlib | 히스토그램 | 산점도 (4) | 2021.02.01 |
[Pandas] 데이터 시각화 | Matplotlib | 면적 그래프 | 막대 그래프 (0) | 2021.01.30 |
[Pandas] 데이터 시각화 | 판다스 내장 그래프 (2) | 2021.01.06 |
Pandas - 통계 함수 max min corr (2) | 2021.01.05 |
Pandas - 데이터 분석 (4) | 2021.01.02 |
Pandas - 판다스 연산 (6) | 2020.12.30 |