쉬엄쉬엄블로그

(Data Viz) Line Plot 본문

부스트캠프 AI Tech 4기

(Data Viz) Line Plot

쉬엄쉬엄블로그 2023. 6. 10. 10:39
728x90

이 색깔은 주석이라 무시하셔도 됩니다.

기본 Line plot

Line plot이란?

  • Line Plot은 연속적으로 변화하는 값을 순서대로 점으로 나타내고, 이를 선으로 연결한 그래프
  • 꺾은선 그래프, 선 그래프, line chart, line graph 등의 이름으로 사용됨
  • 시간/순서에 대한 변화에 적합하여 추세를 살피기 위해 사용
    • 시계열 분석에 특화
  • 신기하게 .line이 아니라 .plot()

Line Plot의 요소

  • 5개 이하의 선을 사용하는 것을 추천
    • 더 많은 선은 중첩으로 인한 가독성 하락
  • 그렇다면 이를 구별하는 요소는 어떤 것이 있을까?
    1. 색상 (color)
    2. 마커 (marker, markersize)
    3. 선의 종류 (linestyle, linewidth)

Line plot을 위한 전처리

  • 시시각각 변동하는 데이터는 Noise로 인해 패턴 및 추세 파악이 어려움
  • Noise의 인지적인 방해를 줄이기 위해 smoothing을 사용

정확한 Line plot

추세에 집중

  • Bar plot과 다르게 꼭 축을 0에 초점을 둘 필요는 없음
    • 추세를 보기 위한 목적이므로
  • 너무 구체적인 line plot보다는 생략된 line plot이 더 나을 수 있다.
    • Grid, Annotate 등 모두 제거
    • 디테일한 정보는 표로 제공하는 것을 추천
  • 생략되지 않는 선에서 범위를 조정하여 변화율 관찰 (.set\_ylim())

간격

  • 규치적인 간격이 아니라면 오해를 줄 수 있다
    • 그래프 상에서 규칙적일 때 : 기울기 정보의 오해
    • 그래프 상에서 간격이 다를 때 : 없는 데이터에 대해 있다고 오해
  • 규칙적인 간격의 데이터가 아니라면 각 관측 값에 점으로 표시하여 오해를 줄이자

보간

  • Line은 점을 이어 만드는 요소 → 점과 점 사이에 데이터가 없기에 이를 잇는 방법(보간)
  • 데이터의 error나 noise가 포함되어 있는 경우, 데이터의 이해를 돕는 방법
    • Moving Average
    • Smooth Curve with Scipy
      • scipy.interpolate.make_interp_spline()
      • scipy.interpolate.interp1d()
      • scipy.ndimage.gaussian_filter1d()
  • Presentations에는 좋은 방법일 수 있으나
    • 없는 데이터를 있다고 생각하게 할 수 잇으며
    • 작은 차이를 없앨 수 있음
    • 일반적인 분석에서는 지양할 것!

이중 축 사용

  • 한 plot에 대해 2개의 축을 이중 축(dual axis)라고 함
  • 같은 시간 축에 대해 서로 다른 종류의 데이터를 표현하기 위해서는 축이 2개가 필요
    • .twinx()를 사용
  • 한 데이터에 대해 다른 단위 (ex. radian과 degree)
    • .secondary\_xaxis(), .secondary\_yaxis() 사용
  • 2개의 plot을 그리는 것 >>>> 이중 축 사용
    • 이중 축은 지양할 것

ETC

  • 라인 끝 단에 레이블을 추가하면 식별에 도움 (범례 대신)
  • Min/Max 정보(또는 원하는 포인트)는 추가해주면 도움이 될 수 있음 (annotation,)
  • 보다 연한 색을 사용하여 uncertainty 표현 가능 (신뢰구간, 분산 등)

출처: 부스트캠프 AI Tech 4기(NAVER Connect Foundation)

'부스트캠프 AI Tech 4기' 카테고리의 다른 글

(Data Viz) Scatter Plot  (0) 2023.06.12
(Data Viz) Line Plot 실습  (0) 2023.06.10
(Data Viz) Bar Plot 실습  (4) 2023.06.09
(Data Viz) Bar Plot  (1) 2023.06.08
(Data Viz) Python과 Matplotlib  (0) 2023.06.07
Comments