matplotlib 3D 그래프 표시

2503 단어 matplotlib

시작하기 전에



3차원 그래프라고 하는 것은, 검색해 나오도록(듯이) 시각의 효과에 의해 과대·과소표시가 될 수 있는 것을 우선 이해해 두어 주세요. 좋거나 나쁘더라도 프레젠테이션 등에 사용되는 이러한 그래프에는 주의가 필요합니다.

3D 그래프는 좋지 않다고 추측하는 문헌보다
h tps://아아몬 d. jp/아르치 c㎇s/-/239003

오해를 주는 통계가 치명적일 수 있음

준비


import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

이것으로 설정 완료
그리고 meshgrid에 대해서도 먼저 배웁니다.
meshgrid는 소위 격자 점을 생성합니다.
#2つの1次元配列作成
x = [1,2,3,4]
y = [0.1,1,10]

X,Y = np.meshgrid(x,y)
X+Y

실행 결과
array([[ 1.1, 2.1, 3.1, 4.1],
   [ 2. , 3. , 4. , 5. ],
  [11. , 12. , 13. , 14. ]])

이런 식으로 이미지 해주세요.


3차원 산점도


from matplotlib import pyplot as plt
import numpy as np
#3次元プロットするためのモジュール
from mpl_toolkits.mplot3d.axes3d import Axes3D

# randomにより点を生成
x = np.random.rand(10)
y = np.random.rand(10)
z = np.random.rand(10)


# figure生成
fig = plt.figure()

# ax→figure
ax = Axes3D(fig)
#軸にラベルつける
ax.set_xlabel("X")
ax.set_ylabel("Y")
ax.set_zlabel("Z")
# axesに散布図を設定する
ax.scatter(x, y, z)

# 表示する
plt.show()



3차원 그래프


from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

def func1(x, y):
    return x * y 


#3次元で描写するには2次元メッシュが必要
#2次元配列をarangeを用いて作る
x = np.arange(-5, 5, 0.1)
y = np.arange(-5, 5, 0.1)

#2次元メッシュはmeshgridでつくる
#Xの行にxの行列を,Yは列にyの配列を入れたものになっている
X, Y = np.meshgrid(x, y)
Z = func1(X, Y)


fig = plt.figure()
ax = Axes3D(fig)

ax.set_xlabel("x")
ax.set_ylabel("y")
ax.set_zlabel("f(x, y)")

ax.plot_wireframe(X, Y, Z)
plt.show()

좋은 웹페이지 즐겨찾기