Python을 이용한 시각화 시작하기
2020. 12. 31. 10:40ㆍPython/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는 실제 그림이 그려지는 영역이라고 생각하면 쉽다. 아래의 그림을 보자.
이제 간단한 그림을 몇 가지 그려보자. 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 |