plt.figure() : 시각화 그림을 푯기할 영역 지정
plt.plot() : 시각화 차트 및 값 지정
plt.show() : 시각화 출력
plt.plot() : 선 그래프 - 시간따른 변화
plt.scatter(x, y) : 산점도 - 두 값 간의 상관관계
plt.hist() : 히스토그램 - 수치형 데이터 분포(빈도, 빈도밀도, 확률 등)
plt.hist(df["col명"], bins="빈도")
plt.boxplt(x) : 박스 그래프 - 수치적 자료(최소값, 제 1사분위값, 제 2사분위값, 제 3사분위값, 최대값)
df.boxplot(by="group화 할 값" , column="박스 그래프로 나타낼 값")
plt.bar(x, height) : 범주형 데이터의 수치 요약(일반적으로 가로, 세로, 누적, 그룹화된 막대 그래프 등 사용)
df[["col A", "col B"]].plot(kind="bar", stacked=True)
누적 막대 그래프
# %: 주피터 랩 명령어
%matplotlib inline
import matplotlib.pyplot as plt
한글 폰트 사용
# 설치된 폰트 확인
import matplotlib.font_manager as fm
fm.findSystemFonts(fontpaths=None, fontext='ttf')
# 지원되는 한글 폰트를 기본 폰트로 설정하기
plt.rc('font', family='NanumGothicCoding')
plt.rc('axes', unicode_minus=False)
제목과 축 레이블 추가
plt.plot()
plt.xlabel("x축")
plt.ylabel("y축")
plt.title("제목")
plt.show()
범례 추가하기
plt.legend(["A", "B"])
plt.plot([1,2,3], [1,4,9])
plt.plot([2,3,4],[5,6,7])
위와 아래는 같은 plot
plt.plot([1,2,3],[1,4,9],[2,3,4],[5,6,7])
마커활용 (line plot에만 활용)
스타일 문자열은 색깔(color), 마커(marker), 선 종류(line style)의 순서로 지정
plt.plot(x,y1,'r--', x,y2, 'bs' ,x, y3, 'g^:')
한번에 여러 개의 차트 그리기
plt.figure() 여러 번 쓰기
plt.figure()
plt.plot(x,y1)
plt.figure()
plt.plot(x,y2)
plt.show()
subplot 쓰기 (행/열/순서 배치순서)
plt.figure(figsize=(20,12))
plt.subplot(211)
plt.subplot(223)
plt.subplot(224)
plt.show()
seaborn
matbplotlib 기반 색상 테마 및 통계용 차트 등의 기능이 추가된 시각화 패키지
%pip install seaborn
%matplotlib inline
import seaborn as sns
import matplotlib.pyplot as plt
matplotlib | seaborn | |
기능 | 기본적인 시각적 개체 생성 | 주로 통계 그래프 생성 |
표시 | 기본적 단순 | 시각적인 요소 가미 |
사용방법 | numpy와 pandas만으로 다양한 시각화 가능 | numpy&pandas에 matplotlib도 사용해야 |
복잡성 | 복잡하고 긴 구문 | 쉽고 간단한 구문 |
다중성 | 여러 개의 시각화를 한번에 | 메모리 부족문제로 다중 시각화 실패 가능성 있음 |
유연성 | 강력하고 유연해 사용자 기능 정의가 쉬움 | 덜 유연하여 사용자 기능 정의 어렵 |
sns.scatterplot(x,y) : 두 값의 관계 분포
plt.scatter(x,y)보다 시각화(점마다 테두리), x&y 축 자동으로 레이블 추가
sns.catplot(x,y,col or row) : 3개 이상의 카테고리 값에 의한 분포 변화
색상(hue), 열(col) 또는 행(row) 등을 동시에 사용
sns.lmplot(x,y) : 산점도에 회귀선 추가
산점도와 회귀선이 같아 line_kws={"color" : "red"} 같은 것으로 지정해줘야함
sns.Countplot(x) : 항목 별 개수 확인
※ 히스토그램 : 연속형 변수만 가능 but Count Plot은 범주형 변수에도 적용 가능
sns.boxplot(x,y) : 수치적 자료 표현 (최소값, 제1~3사분위값, 최대값)
sns.violinplot(x,y) : boxplot과 모양 비슷 but 밀집도 확인 가능
sns.jointplot(x,y) : 산점도 + countplot, 데이터 분포 및 상관관계
sns.jointplot(x="A", y="B", data=df, kind='hex')
밀도까지 파악가능
sns.heatmap(data) : 데이터 배열을 색상으로 나타냄, 두 개의 카테고리에 대한 값 변화, 각 feature간 상관관계
# '-' 부호 출력 경고를 제거 하기 위한 코드
plt.rc('axes', unicode_minus=False)
sns.heatmap(df.corr())
'자격증 > AICE🎓' 카테고리의 다른 글
[AICE] 머신러닝 (0) | 2023.09.19 |
---|---|
[AICE] 데이터 전처리 (0) | 2023.09.17 |
[AICE] Pandas 이해 및 활용 (0) | 2023.09.13 |
[AICE] AI의 이해 (0) | 2023.09.07 |
[AICE] 공부 시작 (0) | 2023.08.28 |