본문 바로가기

부스트캠프 AI Tech 3기/이론 : U-stage

[Day11] Data Visualization 2-2. Line Plot

Line Plot

Line Plot =Line chart = Line graph =꺾은선 그래프 = 선그래프

연속적으로 변화하는 값을 점으로 나타내고 선으로 이은 그래프

 

시간과 순서에 대한 변화를 살핀다.

점간의 기울기, 차이가 중요한 정보로 사용된다.

 

Line Plot의 요소

선은 중첩되면 잘 보이지 않는다.

그래서 잘 구분하기 위해서

  • 색상 : color
  • 마커 : marker, marker size
  • 선의 종류 : linestyle, linewidth

를 다르게 사용해서 구분한다.

 

Line Plot 을 위한 전처리

시간단위가 너무 작으면 노이즈나 에러가 심해져서 패턴 파악이 잘 되지 않는다.

그래서 smoothing을 한다.

sliding window, moving average(이동 평균)과 같은 방법을 사용한다.

시계열 데이터에서는 인사이트를 뽑아내기 위해서는 전처리가 꼭 필요하다.

Line Plot 사용법

  • Line plot은 추세에 민감하기 때문에 축을 0에 초점을 둘 필요는 없다.
    max와 min 값을 잘 보이게 담을 수 있을 정도로의 축을 설정하면 좋다.
  • 필요없는 정보 제거하기
    text, grid 등을 제거해서 깔끔하게 만들어 주면 추세에 집중할 수 있다.
  • 간격
    기울기로 정보를 느끼기 떄문에 x축의 간격이 중요하다.
    그래서 x축 간격을 규칙적으로 보이게 만들어야 한다.
  • 또한 marker로 데이터의 유무를 알려줄 수 있다.
  • 범례보다는 레이블을 추가해서 annotation을 넣으면 식별하기 더 좋다.
  • min, max정보나 중요한 포인트에 정보를 추가하면 좋다 
  • uncertainty(에러 구간 표시)를 area plot으로 표현해줄 수 있다

보간 interplotation

점과 점을 이어 데이터를 채우는 방법

scipy.interpolate.make_interp_spline()
scipy.interpolate.interp1d()
scipy.ndimage.gaussian_filter1d()

 

장점

  • 에러나 노이즈가 많을 때, smoothing 용도로 사용한다.
  • 곡선으로 표현되어 경향성을 잘 드러내준다.
  •  presentation에서 사용하기 좋다
  • 큰 틀, 트렌드를 보여주기 좋다

 

단점

  • 없는 데이터를 있다고 착각할 수 있다
  • 작고 소중한 차이를 없애버릴 수 있다
  • 일반적인 분석에서는 잘 사용하지 않는다.

2중 축 사용

한 그림(plot)안에서 2개의 축(dual axis)를 사용한다.

 

2중 축을 사용하는 경우

  • scale차이가 있는 경우
  • 단위가 다른 경우
    .secondary_xaxis()
    .secondary_yaxis()​

하지만 서로 다른 데이터를 2중 축을 사용해서 표현하면 범위를 조정해서 표현하면 상관관계가 있는 것처럼 표현하게 될 수 있다.