[Data viz] 통계와 차트, seaborn

Text

  • Title : 가장 큰 주제를 설명
  • Label : 축에 해당하는 데이터 정보 제공
  • Tick Label : 축에 눈금을 사용하여 스케일 정보를 추가
  • Legend : 한 그래프에서 2개 이상의 서로 다른 데이터를 분류하기 위해 사용하는 보조 정보..범례
  • Annotation : 그 외의 시각화에 대한 설명을 추가..주석

  • linespacing : 줄 간격
  • backgroundcolor : 배경색 하이라이트
  • alpha : 투명도
  • zorder : z축에서의 순서, 다른 요소랑 겹치는 경우에 어떤 것을 앞에 둘지 결정할 수 있다.
  • visible : 보일지 여부

예제 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
fig, ax = plt.subplots()
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)

ax.text(x = 0.5, y = 0.5, s = 'Text\nis Important',
        fontsize = 20,
        fontweight = 'bold',
        fontfamily = 'serif',
        color = 'black',
        linespacing = 2,
        va = 'center', # top, bottom, center
        ha = 'center', # left, right, center
        rotation = 'horizontal', # vertical? 숫자로도 표현 가능하다.
        bbox=dict(boxstyle = 'round', facecolor = 'wheat', alpha = 0.4) # 텍스트 박스를 만들어 준다.
       )

plt.show()

Color

Facet

화면 분할을 의미한다.

  • 다양한 관점을 전달할 수 있다.
  • 같은 데이터셋에 서로 다른 인코딩을 통해 다른 인사이트.
  • 같은 방법으로 동시에 여러 피쳐를 보거나 큰 틀에서 볼 수 없는 부분 집합을 세세하게 보여줌.

Figure : 큰 틀, 언제나 1개 Ax : 각 플롯이 들어가는 공간, N개

subplot 사용

대표적인 세 가지 방법

  • plt.subplot()
  • plt.figure() + fig.add_subplot()
  • plt.subplots()

쉽게 조정할 수 있는 요소

  • figuresize : plot 몇 인치로 할 건지
  • dpi : 해상도
  • sharex, sharey : 축 공유
  • squeeze, flatten : numpy에서의 기능. 차원에 따라서 알맞은 반복문을 쓰기 위해 필요하다.
  • aspect : x축과 y축의 비율

Grid Spec

Slicing 사용

fig.add_grid_spec()

x, y, dx, dy 사용

fig.subplot2grid()

그냥 내부에 그리기

ax 내부에 subplot 추가

미니맵 같은 느낌이다.

ax.inset_axes()

사이드에 그리기

사실 내부는 아닌 것 같은 느낌인데..make_axes_locatable(ax)

Tips

여러 형태의 grid가 있다.

o 두 변수의 합이 중요하다면 x+y = c o 비율이 중요하다면 y = cx o 두 변수의 곱이 중요하다면 xy = c o 특정 데이터를 중심으로 보고 싶다면 (x-x’)^2 + (y-y’)^2 = c

  1. x+y = c를 사용한 그리드 같은 회색선에 걸치는 값은 합한 값이 동일..예를 들어 피쳐의 절대 합이 중요한 경우 사용 공격과 수비 합으로 평가

  2. y = cx 그리드 가파를 수록 기울기가 커짐..피쳐 비율이 중요한 경우

  3. 동심원 그리드 특정 지점에서 거리 살펴보기, 가까운 포인트를 찾거나 한 데이터에서 특점 범위의 데이터

심플한 처리

  1. 선 추가하기… 상한, 하한 표시
  2. 면 추가하기… 뚜렷한 구분을 위해
  3. 세팅 바꾸기… 예를 들어 테마

seaborn

matplotlib 기반 통계 시각화 라이브러리

  • Categorical API
  • Distribution API
  • Relational API
  • Regression API
  • Matrix API