네이버 부스트캠프 AI Tech 2기

[08.20 Special 강의] 📈 차트의 요소

Jay x 2 2021. 8. 22. 22:08
728x90
반응형

- 실습은 제외한 이론 부분만 정리하였다.

1. Text

시각화는 Visual Representation들이 줄 수 없는 많은 설명을 추가해 줘야할 필요가 있다.

잘못된 전달에서 생기는 오해를 방지할 수 있다.

하지만, 너무 과하게 사용하면 오히려 이해에 방해가 된다.

Matplotlib - Text

  1. Titlt : 가장 큰 주제를 설명한다.
  2. Label : 축에 해당하는 데이터 정보를 제공한다.
  3. Tick Label : 축에 눈금을 사용해 스케일 정보를 추가한다.
  4. Legend : 한 그래프에서 2개 이상의 서로 다른 데이터를 분류하기 위해서 사용하는 보조 정보
  5. Annotation : 그 외의 시각화에 대한 설명을 추가한다.(Annotation은 원하는 부분을 집을 수 있다. Text와는 조금 차이가 있다.)

2. Color

Color 가 중요한 이유와 이해

어떤 데이터를 구별하는데 가장 중요한 2가지는 위치와 색상이다.

그만큼, 색상들의 조합과 깔끔하게 시각화를 결정하는 요소이기 때문에 중요한 부분이다.

이쁘고 화려하다 → 시각화의 전부는 아니다.

중요한 점 : insight 가 어떻게 전달되는 가? 오용을 막을 수 있는가? 이런 것들이 더 중요하다. (이해도가 중요하다는 것 같다.)

색상이 가지는 의미는 다양하다.

높은 온도에서 빨강, 낮은 온도에 파랑 이처럼 이미 색과 그 의미가 사람들에게 각인된 것처럼 정보와 느낌을 잘 활용하는 것이 중요하다.

→ 이미 사용하는 색들은 그 의미가 있다.(가독성이 높아지는 이유)

Palette의 종류

  1. 범주형(Categorical)(최대 10개의 색상까지 사용하는 것이 좋다.)
    • 색의 차이로 구분하는 것이 특징이다.
    • 이산적인 색상을 표현할 때 많이 사용한다! 그래서 독립된 색상으로 구성되어 있다는 것이 특징이다.
  2. 연속형(Sequential)
    • 균일한 색상 변화가 중요하다. 중간 점이 첫 값과 끝 값의 정 중앙에 있다. → 를 표현하는 것이 좋다!
    • 연속적인 색상을 사용하며, 정렬된 값을 가지는 순서형과 연속형 변수에 적합하다.
  3. 발산형(Diverge)
    • ex) 온도. 투표의 지지율을 표현하는 데 적합하다.
    • 양 끝으로 갈 수록 진해지거나 밝아지며, 중앙의 색은 양쪽에 편향되면 안된다.
    • 연속형과 유사하지만 중앙을 기준으로 발산한다.

그 외의 Tips!

  1. 색은 강조를 의미한다!
    • 명도 대비 : 밝은 색과 어두운 색을 배치하면 밝은 색은 더 밝게, 어두운 색은 더 어둡게 보인다.
    • 색상 대비 : 가까운 색은 차이가 더 크게 보인다.
    • 채도 대비 : 채도의 차이. 채도가 더 높아 보인다.
    • 보색 대비 : 정반대 색상을 사용하면 선명해 보인다.
  2. 색상 대비를 사용한다.
  3. 색각 이상부분적 인지 이상이 있다면 색약
  4. 삼원색 중에 특정 색을 감지 못하면 색맹

3. Multiple

Facet이란?

: 분할을 의미한다.(화면을 어떻게 분할할 지)

화면 상에 View를 분할 및 추가하여 다양한 관점을 전달한다.

  • 같은 데이터셋에 서로 다른 인코딩으로 다른 인사이트를 얻는다.
  • 같은 방법으로 동시에 여러 feature를 본다.
  • 큰 틀에서 볼 수 없는 부분 집합을 세세하게 보여줄 수 있다.

Matplotlib에서 구현

Figure라는 큰 틀에, Ax라는 각 플롯들이 들어간다.

Figure는 언제나 1개이고 플롯은 N개이다.

SubPlot 그리는 3가지 방법들

  1. plt.subplot()
  2. plt.figure() + fig.add_subplot()
  3. plt.subplots()

조정할 수 있는 요소들

  1. figuresize : 몇대 몇인가
  2. dpi : 해상도
  3. sharex, sharey : x, y축에 따라 공유받는 부분
  4. squeeze : subplot 받는 방법
  5. aspect : 비율

Grid Spec활용

그리드 형태로 subplot들을 나눌 수 있다.

만일 다른 사이즈로 나누기 위해서 어떻게 해야할 까?

  1. Numpy Slicing을 적용한다.(묶어 버린다.)
  2. x, y, dx, dy를 사용해서 시작 점을 찍고 얼마나 길이를 가져갈지 결정한다
  • fig.add_grid_spec() 함수를 사용한다.

 

내부에 그리는 방법

  1. Ax 내부에 Subplot을 그리는 방법
    • ax.inset_axes()
  2. 그리드를 사용하지 않고 사이드에 추가하는 방법
    • make_axes_locatable(ax)

4. More Tips

Grid 이해하기

: 격자도 다양하게 사용하자!

기본적 Grid는 축과 평행한 선을 사용해 거리 및 값 정보를 보조적으로 제공한다.

색은 다른 기본적으로 무채색으로 세팅된다.

항상 Layer 에 맨 밑에 오도록 조정한다.

큰 격자와 세부 격자로 나눠진다.

여러 형태의 그리드

  • Feature의 절대적 합이 중요한 경우
  • Feature의 비율이 중요한 경우
  • 동심원을 사용한 그리드(특정 지점에서 거리를 살펴볼 수 있다.)

선, 면 추가하기

  1. 선 추가하기
    • 이렇게 간단하게 선을 추가하면서 가독성을 높일 수 있다.(상한 값과 하한 값, 평균, 기울기 값)
  2. 면 추가하기
    1. 범위를 주고 그 면적을 그릴 수 있다.
    2. 아래 사진을 보면 구간을 나눠서 어떤 분류인지를 한눈에 볼 수 있다.

Setting 바꾸기

  • 테마라는 것을 제공하면서 시각화를 더 깔끔하게할 수 있다.
반응형