Python을 이용한 시각화 시작하기

2020. 12. 31. 10:40Python/Visualization

시각화 라이브러리로는 Matplotlib, Seaborn, Mayavi 등이 있지만, 우선은 Matplotlib부터 시작하기로 한다. 내용은 Robert Johansson의 『Numerical Python』을 참고하였다.

%matplotlib inline		#IPython 환경
import matplotlib as mpl
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.axes3d import Axes3D

그림을 그리기 이전에 Figure와 Axes의 개념에 대해 간단하게 짚고 넘어가자. Figure는 그림을 그릴 캔버스, Axes는 실제 그림이 그려지는 영역이라고 생각하면 쉽다. 아래의 그림을 보자.

Figure과 Axes

이제 간단한 그림을 몇 가지 그려보자. matplotlib.pyplot.subplots()를 이용하여 figure와 axis를 설정한다.

fig, ax = plt.subplots()

$x$축과 $y$축의 범위가 0과 1 사이로 임의로 설정되었다. 우선 이를 무시하고 임의의 데이터를 생성하여 그림을 그려보자. $x$는 -5 이상 2 이하를 100개의 숫자로 균일하게 나눈 array이다. $y_1$은 이를 이용하여 생성한 값들로, $y_1=x^3 + 5x^2 +10$의 3차 함수 형태이다.

x = np.linspace(-5, 2, 100)
y1 = x**3 + 5*(x**2) + 10

ax.plot(x, y1, color="blue", label="y(x)"  # y1 그리기
ax.set_xlabel("x")	# x축 이름 설정
ax.set_ylabel("y")	# y축 이름 설정
ax.legend()  # 범례 표시

우리가 생각했던 3차 함수의 곡선이 그려졌다. 이 때 축이 $x$와 $y_1$의 값들의 범위로 자동으로 조정되었음에 유의하자. 이제 두 가지의 선을 더 그려보자.

y2 = 3*x**2 + 10*x
y3 = 6*x + 10

ax.plot(x, y2, color="red", label="y'(x)")  # y2 그리기
ax.plot(x, y3, color="green", label="y''(x)")  # y3 그리기
ax.legend()  # 범례 갱신

 

눈치 챘겠지만 나중에 그려진 빨간색 곡선과 초록색 곡선은 각각 최초에 그려진 파란색 곡선의 1, 2계 도함수이다.

 

계속 추가할 예정!

'Python > Visualization' 카테고리의 다른 글

matplotlib.pyplot  (0) 2021.09.03
[Visualization]Correlation Matrix  (0) 2021.08.18
[Python]Moving Average & Disparity - 1. 종류  (0) 2021.07.27