新聞中心
這篇文章給大家介紹怎么在python3中使用Axes3D庫繪制3D模型圖,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
python的五大特點是什么
python的五大特點:1.簡單易學(xué),開發(fā)程序時,專注的是解決問題,而不是搞明白語言本身。2.面向?qū)ο螅c其他主要的語言如C++和Java相比, Python以一種非常強大又簡單的方式實現(xiàn)面向?qū)ο缶幊獭?.可移植性,Python程序無需修改就可以在各種平臺上運行。4.解釋性,Python語言寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。5.開源,Python是 FLOSS(自由/開放源碼軟件)之一。
python代碼
import numpy as np from scipy import stats import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D # 三維,兩個特征 fig = plt.figure(figsize=(8, 6)) #設(shè)置圖標的大小 ax = fig.add_subplot(111, projection='3d') # 111的意思是把畫布分為1行1列,畫在第一個方格內(nèi)。其實就是整個畫布。 # 創(chuàng)建樣本,注意兩個特征不能線性相關(guān),否則無法用最小二乘解參數(shù) X1 = np.arange(-4, 4, 0.1) m = len(X1) X2 = np.random.rand(m)*5 # print(X2) # print(X1) # 堆疊全1數(shù)組和X1以及X2形成樣本的矩陣,倒置,用以矩陣乘法 X = np.vstack((np.full(m, 1), X1, X2)).T # y = 15*X1 + 3 * X2 + theta0 # 自定義樣本輸出 Y = X1 + 3 * X2 + 3*np.random.randn(m) # 利用標準方程(最小二乘法求解theta) theta = np.dot(np.dot(np.linalg.inv(np.dot(np.transpose(X), X)), np.transpose(X)), Y) print(theta) # 構(gòu)造網(wǎng)格 meshgrid函數(shù)可以通過延伸矩陣構(gòu)造多維坐標中的網(wǎng)格坐標。 M, N = np.meshgrid(X1, X2) # zip函數(shù)構(gòu)建一個多元祖[(x1,y1),(x2,y2)...],ravel函數(shù)將一個多維數(shù)組合并成一維數(shù)組 Z = np.array([theta[1] * d + theta[2]*p + theta[0] for d, p in zip(np.ravel(M), np.ravel(N))]).reshape(M.shape) # 根據(jù)網(wǎng)格和函數(shù)構(gòu)建圖形 suface是一個完整的面 ax.plot_surface(M, N, Z) # scatter是散點圖 ax.scatter(X1, X2, Y, c='r') # 設(shè)置坐標軸的名稱 ax.set_xlabel('X') ax.set_ylabel('Y') ax.set_zlabel('Z') plt.show()
關(guān)于怎么在python3中使用Axes3D庫繪制3D模型圖就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享標題:怎么在python3中使用Axes3D庫繪制3D模型圖-創(chuàng)新互聯(lián)
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/hgppc.html