【matplotlib筆記】3D圖像繪製

3D線圖

在這裏插入圖片描述

# 3D線圖繪製
import matplotlib.pyplot as plt
import numpy as np
# 3D圖表必須的模塊,projection='3d'的定義
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()  # 畫布
axl = fig.add_subplot(111, projection='3d') # 初始化一個一行一列的佈局,在第一個地方畫

# x = range(1,11) # x爲1到10的列表
x = [1,2,3,4,5,6,7,8,9,10]
y = [5,6,7,8,2,5,6,3,7,2]
# z = [1,2,6,3,2,7,3,3,7,2]
z = np.array([1,2,6,3,2,7,3,3,7,2])
z = z.reshape(1,10)

axl.plot_wireframe(x,y,z) # 畫線
axl.set_xlabel('x axis')
axl.set_ylabel('y axis')
axl.set_zlabel('z axis')
plt.show()

3D散點圖

在這裏插入圖片描述

# 3D散點圖繪製
import matplotlib.pyplot as plt
import numpy as np
# 3D圖表必須的模塊,projection='3d'的定義
from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure()
axl = fig.add_subplot(111, projection='3d') # 初始化一個一行一列的佈局,在第一個地方畫

x = range(1,11) # x爲1到10的列表,等價於 x = [1,2,3,4,5,6,7,8,9,10]
y = [5,6,7,8,2,5,6,3,7,2]
z = [1,2,6,3,2,7,3,3,7,2]

x2 = [-1,-2,-3,-4,-5,-6,-7,-8,-9,-10]
y2 = [-5,-6,-7,-8,-2,-5,-6,-3,-7,-2]
z2 = [1,2,6,3,2,7,3,3,7,2]

axl.scatter(x, y, z, c='g', marker='o')
axl.scatter(x2, y2, z2, c='r', marker='o')

axl.set_xlabel('x axis')
axl.set_ylabel('y axis')
axl.set_zlabel('z axis')
plt.show()

3D曲面圖 z = x^2 + y^2

在這裏插入圖片描述

# 3D圖繪製
import matplotlib.pyplot as plt
import numpy as np
# 3D圖表必須的模塊,projection='3d'的定義
from mpl_toolkits.mplot3d import Axes3D

# 二次拋物面 z = x^2 + y^2
x = np.linspace(-10, 10, 101) # -10到10之間,產生數量爲100個的等差數列
y = x
x, y = np.meshgrid(x,y)
z = x**2 + y**2

ax = plt.subplot(111, projection='3d')
ax.plot_wireframe(x, y, z)
plt.show()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章