機器學習-數據可視化神器matplotlib學習之路(四)

今天畫一下3D圖像,首先的另外引用一個包 from mpl_toolkits.mplot3d import Axes3D,接下來畫一個球體,首先來看看球體的參數方程吧spa

(0≤θ≤2π,0≤φ≤π)3d

而後就能夠上代碼了:code

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

a = np.linspace(0, np.pi*2, 20)
b = np.linspace(0, np.pi, 20)
A, B = np.meshgrid(a, b)#這裏要注意一下,須要給對應的網格點轉換成座標矩陣
X = np.sin(A)*np.cos(B)#x座標
Y = np.sin(A)*np.sin(B)#y座標
Z = np.cos(A)#z座標
fig = plt.figure()
ax = Axes3D(fig)#添加3D圖
ax.plot_surface(X, Y, Z, cmap='rainbow')#畫球體
ax.contourf(X, Y, Z,
            zdir='z', #按照z軸投影(也就是投影到xy平面),也能夠按照x,y軸投影
            offset=-1.2, #投影到座標值爲-1.2的平面上
            cmap='rainbow')
#設置各個座標範圍
ax.set_zlim((-1.2, 1.2))
ax.set_xlim((-1.2, 1.2))
ax.set_ylim((-1.2, 1.2))

plt.show()

大功告成!下一節準備作幾個關於pandas在畫圖中的例子。blog

相關文章
相關標籤/搜索