pandas모듈로 데이터 시각화 - 그래프
기본 : 선그래프
kind="bar" : 막대그래프
kind="barh" : 수명막대그래프
kind="hist" : 히스토그램
kind="scatter" : 선점도
kind="box" : 박스그래프
import pandas as pd
df = pd.read_excel("파일명.xlsx") # 원하는 그래프에 맞게 원하는 데이터로 삭제 및 수정
# 선그래프
df.plot()
# 막대그래프
df.plot(kind="bar")
# 히스토그램그래프(데이터 범위별 빈도수를 그래프화)
df.plot(kind="hist")
# 산점도 그래프(값의 범위, 값의 분포)
df.plot(x="x축 컬럼명", y="y축 컬럼명", kind="scatter")
matplotilb모듈로 데이터 시각화 - 그래프
시각화를 위한 기본적인 모듈로 각각의 함수를 사용해서 간편하게 그래프를 만들고 변화를 줄 수 있다. 기본설정 된 폰트가 한글 출력 불가하기 때문에 한글 출력 가능한 폰트 설정이 필수다.
사용법 : import matplotilb.pyplot as plt
폰트 설정 : plt.rc("font", family="Malgun Gothic")
데이터프레임 시각화 : plt.plot(데이터프레임객체명.컬럼명) : x축 index값, y축 columns값
시리즈 시각화 : plt.plot(시리즈객체명) : x축 index값, y축 데이터값
import pandas as pd
import matplotlib.pyplot as plt
plt.rc("font", family="Malgun Gothic") # 한글 출력 가능한 폰트로 설정
df = pd.read_excel("파일명.xlsx") # 원하는 그래프에 맞게 데이터프레임객체로 데이터 수정 및 삭제
sr = pd.Series(데이터) # 원하는 그래프에 맞게 시리즈객체로 데이터 수정 및 삭제
# 선그래프 - df데이터의 특정컬럼
plt.plot(df.컬럼명) # x축 index값, y축 columns값
# 선그래프 - sr데이터
plt.plot(sr) # x축 : index / y축 : 데이터값
plt.plot(sr,marker='o', markersize=점크기) # 선그래프에 점표시
# 그래프 동시에 여러개
fig = plt.figure(figsize=(가로크기, 세로크기))
ax1 = fig.add_subplot(행,열,위치)
ax2 = fig.add_subplot(행,열,위치)
ax1.plot(sr, 'o', markersize=점크기) # 마커 그래프
ax2.plot(sr,marker='o', markersize=점크기, linewidth=선의두께)
# 그래프 파일로 저장
plt.savefig("경로/파일명.png",dpi=해상도, bbox_inches="tight")
matplotlib 그래프 스타일
plt.style.use('스타일')
plt.style.available : 그래프 스타일 정보
['Solarize_Light2', '_classic_test_patch', 'bmh', 'classic', 'dark_background', 'fast',
'fivethirtyeight', 'ggplot', 'grayscale', 'seaborn', 'seaborn-bright', 'seaborn-colorblind',
'seaborn-dark', 'seaborn-dark-palette', 'seaborn-darkgrid', 'seaborn-deep', 'seaborn-muted',
'seaborn-notebook', 'seaborn-paper', 'seaborn-pastel', 'seaborn-poster', 'seaborn-talk',
'seaborn-ticks', 'seaborn-white', 'seaborn-whitegrid', 'tableau-colorblind10']
matplotlib 그래프 설정
plt.plot(객체명, marker='o', markersize=점크기, linewidth=선의두께) : 선그래프에 점찍기, 점모양, 점크기 설정
plt.rc("font", family="Malgun Gothic") : 그래프 폰트 설정(맑은고딕-한글안깨지는폰트)
plt.style.use('스타일')
plt.Figure(figsize=(가로크기, 세로크기)) : 그래프 작성 창을 가로크기, 세로크기로 설정
plt.title("그래프제목") : 그래프 제목
plt.xlabel("x축 라벨 이름") : 그래프 x축 라벨 이름
plt.ylabel("y축 라벨 이름") : 그래프 y축 라벨 이름
plt.xticks(rotation='vertical', size=글자크기) : 그래프 x축 값들 수직방향으로 설정, 글자크기는 생략가능
plt.legend(labels=['범례'],loc='best') : 범례추가. loc='best' : 위치는 적당한 곳
plt.ylim(y축시작값, y축최대값) : y축 범위 설정
matplotlib 그래프 설정-여러개 그래프시
fig = plt.figure(figsize=(가로크기,세로크기)) : 전체 그래프 크기
ax1 = fig.add_subplot(행,열,위치)
ax2 = fig.add_subplot(행,열,위치)
ax1.plot(그래프설정)
ax1.set_ylim(y축시작값, y축최대값) : y축 범위 설정
ax2.set_xticklabels(객체명.index,rotation=기울기) : x축 값들 기울기 설정
matplotlib 그래프 설명(주석) 추가
plt.annotate(text, xy, xytext, ...) : 그래프에 주석 표시 함수
화살표 표시 속성들
text : ''
xy=(x축위치,y축위치) : 주석 위치 설정. 화살표의 머리부분(끝점)
xytext=(x축위치,y축위치) : 주석 위치 설정. 화살표의 꼬리부분(시작점)
xycoords='data' :
좌표체계. 주석을 data처럼 처리(plot의 크기 변경하면 같이 변경된다.) arrowprops=dict(arrowstyle='->', color='색깔',lw=두께 : 화살표 색깔, 두께 설정
텍스트 표시 속성들
text : '텍스트 내용'
xy=(x축위치,y축위치) : 주석 위치 설정.
rotation=출력방향 : 숫자만큼 기울기 회전. 음수시 우하향으로 회전
va='baseline' : 텍스트 상하 정렬
ha='center' : 텍스트 좌우 정렬
fontsize=크기 : 텍스트 크기
seaborn모듈로 데이터 시각화 - 그래프
matplot모듈의 기능, 스타일을 확장한 고급 시각화도구. 데이터 셋 저장하고 있는 모듈.
regplot() : 선형회귀그래프(산점도+선형회귀선), fit_reg=False 회귀선 표시안함
distplot() : 히스토그램 kde(밀도) , hist(빈도수) 출력
kdeplot() : 히스토그램 kde(밀도) 출력
histplot() : 히스토그램 hist(빈도수) 출력
heatmap() : 히트맵
barplot() : 막대그래프
countplot() : 막대그래프 건수출력
stripplot() : 산점도(이산형 변수의 분포 - 데이터 분산 미고려)
swarmplot() : 산점도(이산형 변수의 분포 - 데이터 분산 고려)
boxplot() : 박스그래프
violinplot() : 바이올린그래프
jointplot() : 조인트그래프
FacetGrid() : 조건에 따라 그리드 나누기
pairplot() : 각각의 컬럼별 데이터 분포 그리기
import seaborn as sns
sns.regplot()
sns.distplot()
sns.kdeplot()
sns.histplot()
sns.heatmap()
'프로그래밍언어 > Python' 카테고리의 다른 글
[Python] follium 모듈 (1) | 2022.01.13 |
---|---|
[Python] 데이터 시각화-그래프연습 (python-pandas, matplotlib.pyplot, serborn) (0) | 2022.01.13 |
[Python] seaborn 모듈 (0) | 2022.01.12 |
[Python] pandas 모듈 (0) | 2022.01.12 |
[Python] Numpy 모듈 (0) | 2022.01.11 |