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()
Reference
이 문제에 관하여(matplotlib 3D 그래프 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yren/items/be927c37c625334689fd
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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()
Reference
이 문제에 관하여(matplotlib 3D 그래프 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yren/items/be927c37c625334689fd
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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()
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()
Reference
이 문제에 관하여(matplotlib 3D 그래프 표시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yren/items/be927c37c625334689fd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)