[TIL] Matplotlib을 활용한 Line Plot, Scatter Plot

ReadyMadeLife·2022년 2월 3일
0

Hi There 👋

데이터 시각화 가장 기초적이고 기본적인 차트인 Line Plot, Scatter Plot에 대해서 배워보자

✅ Line Plot

Line Plot은 연속적으로 변화하는 값을 순서대로 점으로 나타내고, 이를 선으로 연결한 그래프이다.

시간/순서에 대한 변화에 적합하여 추세를 살피기 위해서 사용된다.

Line Plot에서는 1. 색상 2. 마커 3. 선의 종류로 구분한다.

Line Plot의 주의점

Line Plot을 사용할때에는 주의할 점이 있다.

  • Bar Plot과 다르게 x축이 꼭 0에서 시작할 필요는 없다. 단순 추세를 확인하기 위해서이다.
  • 모든 데이터를 그래프안에 표현하면 너무 지저분해서 보기 힘들 수도 있다. (Noise 발생) 따라서 smoothing 기법을 활용해서 Noise를 줄이자
  • 생략되지 않는 선에서 범위를 조정하여 변화율을 관찰한다 (.set_ylim())

Line Plot을 사용해보자

Line Plot은 단순하다. .plot()을 통해 그래프를 그린다.

fig, axes = plt.subplots(1, 2, figsize=(12, 7))

x1 = [1, 2, 3, 4, 5]
x2 = [1, 3, 2, 4, 5]
y = [1, 3, 2, 1, 5]

axes[0].plot(x1, y)
axes[1].plot(x2, y)

plt.show()

여기에 .plot()의 documentation을 참고해서 다양한 Line Plot을 그릴 수 있다. (색상, 마커, 선의 종류)
(https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.plot.html?highlight=plot#matplotlib.pyplot.plot)

✅ Scatter Plot

Scatter plot은 점을 사용하여 두 feature간의 관계를 알기 위해 사용된다.

  • 두 feature 간 상관관계
  • 두 feature 간 군집, 값 사이의 차이, 이상치

Scatter Plot에서는 1. 색 2. 모양 3. 크기 (버블차트)로 구분한다.

Scatter Plot에서는 데이터가 많아질수록 보기 힘들다는 단점이 있다. 이러한 단점을 극복하기 위해선 아래와 같은 방법으로 극복한다.

  • 투명도 조정
  • 지터링 (jittering)
  • 히트맵 사용
  • Contour plot (분포 등고선)

Scatter Plot의 주의점

Scatter Plot을 사용할때에는 주의할 점이 있다.

Scatter Plot은 상관 관계를 나타내지 인과관계를 나타내지 않는다.

Scatter Plot을 사용해보자

Scatter plot은 .scatter()을 통해 그래프를 그린다.

fig = plt.figure(figsize=(7, 7))
ax = fig.add_subplot(111, aspect=1)

np.random.seed(970725)

x = np.random.rand(20)
y = np.random.rand(20)

ax.scatter(x, y)
ax.set_xlim(0, 1.05)
ax.set_ylim(0, 1.05)

plt.show()

여기서 .scatter()의 documentation을 참고해서 다양한 Scatter Plot을 그릴 수 있다. (https://matplotlib.org/stable/api/_as_gen/matplotlib.pyplot.scatter.html?highlight=scatter#matplotlib.pyplot.scatter)

profile
레디메이드인생

0개의 댓글