728x90
2022.03.01 - [데이터 분석/Data Visualizaton] - [데이터 시각화] 1. MATPLOTLIB(2)
[데이터 시각화] 1. MATPLOTLIB(2)
저번 데이터 시각화 포스팅에 이어서 여러 방법을 추가로 더 공부해보려고 합니다! 2022.02.24 - [데이터 분석/Data Visualizaton] - [데이터 시각화] 1. MATPLOTLIB(1) 빠른 의사결정 시각화는 빅데이터 시대
xod22.tistory.com
3D Plot에 대해 앞선 포스팅에서 적어보았는데요!
이를 활용한 실습 문제를 풀어보려고 합니다!
문제
Plot the following functions using Colormap and 3D Plots
풀이
1. 패키지 임포트
import numpy as np
2. 수식 입력
# x, y 범위 정의
X = Y = np.linspace(-10,10,150)
x,y = np.meshgrid(X,Y)
# 수식 입력
z1 = x**2 - y**2
z2 = np.sin(x**2+y**2)
z3 = 1 - abs(x + y) - abs(y - x)
z4 = 0.75/(np.exp((5*x*5*y)**2))
3. Color Map 그리기
# 2x2 subplot, 가로14, 세로12
fig,axes = plt.subplots(2,2,figsize=(14,12))
# z1그래프 추가 : [0,0]에 z1을 그림
im1 = axes[0, 0].imshow(z1)
# 옆에 colorbar를 im1
fig.colorbar(im1, ax=axes[0, 0])
# z2그래프 추가
im2 = axes[0, 1].imshow(z2)
fig.colorbar(im2, ax=axes[0, 1])
# z3그래프 추가
im3 = axes[1, 0].imshow(z3)
fig.colorbar(im3, ax=axes[1, 0])
# z4그래프 추가
im4 = axes[1, 1].imshow(z4)
fig.colorbar(im4, ax=axes[1, 1])
plt.show()
4. 3D plot 그리기
# z1에 대한 3D Plots
fig1=plt.figure()
ax1=plt.axes(projection='3d')
ax1.contour3D(x,y,z1,100)
# z2에 대한 3D Plots
fig2 = plt.figure()
ax2 = plt.axes(projection='3d')
ax2.contour3D(x,y,z2)
# z3에 대한 3D Plots
fig3 = plt.figure()
ax3 = plt.axes(projection='3d')
ax3.contour3D(x,y,z3,50)
# z4에 대한 3D Plots
fig4 = plt.figure()
ax4 = plt.axes(projection='3d')
ax4.contour3D(x,y,z4,50)
728x90