# 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()