728x90

이번 챕터는 matplotlib 과 seaborn을 활용한 데이터 시각화입니다

1. line plot

데이터의 시간 순서등에 따라 어떻게 변화하는지 보여주는 그래프이다.

  • pyplot : 기본적인 그래프 제공

  • pyplot 메서드

    1. plot() : 해당 값에 대한 선을 그린다
    2. title() : 그래프의 제목
    3. show() : 그래프를 출력
  • x축과 y축 지정하는 방법

      plot([x축],[y축])
  • label 사용

      plt.xlabel()
      plt.ylabel()

x 축의 레이블과 y 축의 레이블을 지정해 줄 수 있다.

  • 옵션 사용

      xlim, ylim #구간설정
      tick(xticks,yticks) #그래프의 축에 간격을 만든다

2. bar plot

  • x축과 y축을 지정하는 방법

      plt.bar(x축,y축)
  • bar 의 색깔 및 테두리 색깔 변경

      plt.bar(x,y,color = 'lightgray', edgecolor = 'gray')

    color 와 edgecolor 옵션으로 원하는 바의 색깔과 테두리의 색깔을 고를 수 있다.

label_font = {
    'fontsize' : 14,
    'fontweight' : 'bold',
    'color' : 'gray'
}
plt.xlabel('Salesperson',labelpad = 12, fontdict = label_font)
plt.ylabel('Revenue(1000 $)',labelpad = 12, fontdict = label_font)
  • labelpad를 이용해서 축 레이블의 여백을 지정할 수 있다.
  • fontdict에 폰트의 여러 특성을 설정할 수 있다. 폰트 사이즈, 색 등등

3. scatter plot

  • x축과 y축을 지정하는 방법

      plt.scatter(x,y)

4. subplot

subplot을 이용하면 여러 그래프를 한번에 표현할 수 있다.

  • subplot(행의 개수,열의 개수, index) 형식이고 아래에 원하는 그래프 형식대로
    메서드를 활용하면 된다. 아래의 예를 확인해보자
plt.figure(figsize = (12,5))
plt.subplot(1, 3, 1)               
plt.plot(x1,y1)
plt.subplot(1,3,2)
plt.bar(x1,y1)
plt.subplot(1,3,3)
plt.scatter(x1,y1)
plt.show()

plt.figure을 통해 그래프의 크기를 설정했다.
line plot, bar plot, scatter plot을 활용해서 3개의 그래프를 표시한 모습이다.

Untitled

5. pie chart

원형 모양의 차트를 그릴때 사용한다.

  • 파이형 차트를 그릴때 쓰는 코드이다
plt.pie(data, labels, autopct)
  1. data : 파이 그래프 안에 들어갈 값이 들어간다.
  2. labels : 파이 그래프 밖의 레이블. 쉽게 말해 항목명이다.
  3. autopct : data를 표현하는 자료형이다. 가령 정수, 소수 등등
  4. explode : 파이 그래프의 한 조각을 다른 그래프로부터 분리
  5. shadow : True값으로 설정시 음영처리

Untitled

6. box Plot

box plot은 범주형 데이터 분포와 주요 통계 지표를 함께 제공하고 다양한 통계 수치를 확인하기 위해 사용한다.

  • 최솟값, 1분위수, 중간값, 3분위수, 최댓값, 이상치 등 다양한 통계량을 한번에 표현한다.

  • 다양한 통계랑

    Untitled

Untitled

7. violin plot

violin plot은 boxplot, whiskerplot과 비슷한 역할을 한다.
하나 이상의 범주형 변수들의 정량적 분포를 나타낸다.

Untitled

7-1) violin plot 해석법

  1. 중심선을 따라 대칭인 kde 플롯이 있다.
  2. 가운데 흰색 점은 중앙값
  3. 중앙의 두꺼운 선은 사분위 범위
  4. 중앙의 얇은 선은 신뢰 구간

8. 여러가지 함수

1. annotate 함수

이 함수는 주석을 달기 위해 사용 되는 함수이다. 함수의 원형은 아래와 같다

matplotlib.pyplot.annotate(s, xy, *args, **kwargs)
#    s: str
#    xy: (float, float)
#선택
#    xytext: (float, float), defaults:xy
#    xycoords: str

  1. annotate 함수에는 주석 내용(s)과 좌표(xy)는 필수로 전달해야 한다.
  2. xytext 는 주석을 표시할 xy좌표를 설정할 때 사용한다. 디폴트 값은 xy 와 같다.
  3. xycoords 는

'figure points' 는 그림의 Point 좌표로 출력합니다.

'figure pixels' 는 그림의 Pixel 좌표로 출력합니다.

'figure fraction'은 그림의 좌표를 기준으로 출력합니다.

'axes points'는 좌표 축을 기준으로 Point 좌표로 출력합니다.

'axes pixels'는 좌표 축을 기준으로 Pixel 좌표로 출력합니다.

'axes fraction'은 좌표 축을 기준으로 출력합니다.

'data' 는 좌표 시스템의 데이터로 취급합니다. 좌표 축을 이동하면 맞춰서이동합니다.

'polar'는 xy값을 극좌표 값(theta,r)으로 취급합니다. 좌표 축을 이동하면 맞춰서 이동합니다.

2. axhline 함수

axhline 함수는 수평선을 그리기 위해 사용한다. 매개변수를 활용해서 변화를 줄 수 있다.

#예시 코드
ax.axhline(y = 45, color = 'blue', ls = '--', zorder = 1)

axhline 함수의 대표적인 매개변수

첫번째 인자는 y 값으로 수평선의 위치이다.
두세번째 인자는 xmin, xmax 로 0에서 1사이의 값을 입력한다. 0은 왼쪽 끝 1은 오른쪽 끝을 의미한다.
그 이외에도 선의 색깔을 정하는 color,
선의 z값을 정해주는 zorder가 있다.(z값은 2차원 그래프를 볼때 표현되는 순서를 나타내기 위해 필요)
hlines() 함수에 y, xmin, xmax를 순서대로 입력하면,
점 (xmin, y)에서 점 (xmax, y)를 따라 수평선을 표시한다.

3. axhspan 함수

axhspan 함수는 수평선 아래에 음영을 넣을 수 있다. 매개변수로 색 및 투명도를 조절할 수 있다.

#예시 코드
ax.axhspan(0,15, facecolor='red', alpha=0.2)

앞의 두 매개변수는 y의 범위이다.
facecolor 는 음영의 색
alpha 는 투명도이다.

9. TMI

1) matplotlib 한글 폰트 깨질때

from matplotlib import rc
rc('font', family='AppleGothic')
plt.rcParams['axes.unicode_minus'] = False

'인공지능 > 인공지능 기초 개념' 카테고리의 다른 글

(3)-2 EDA 실습  (1) 2024.03.15
(4) EDA 필사  (0) 2024.03.15
(3)EDA  (0) 2024.03.15
(1) Pandas란?  (0) 2024.03.14
(1) Machine Learning  (0) 2024.03.14

+ Recent posts