這篇文章主要介紹了python中matlibplot如何繪制3D圖形,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
python matlibplot繪制3D圖形的具體代碼,供大家參考,具體內(nèi)容如下
1、散點(diǎn)圖使用scatter
from mpl_toolkits.mplot3d import Axes3D import numpy as np from matplotlib import pyplot as plt # 生成3D示例數(shù)據(jù) mu_vec1 = np.array([0,0,0]) # 均值向量 cov_mat1 = np.array([[1,0,0],[0,1,0],[0,0,1]]) # 協(xié)方差矩陣 class1_sample = np.random.multivariate_normal(mu_vec1, cov_mat1, 20) class2_sample = np.random.multivariate_normal(mu_vec1 + 1, cov_mat1, 20) class3_sample = np.random.multivariate_normal(mu_vec1 + 2, cov_mat1, 20) # class1_sample.shape -> (20, 3), 20 rows, 3 columns fig = plt.figure(figsize=(8,8)) ax = fig.add_subplot(111, projection='3d') ax.scatter(class1_sample[:,0], class1_sample[:,1], class1_sample[:,2], marker='x', color='blue', s=40, label='class 1') ax.scatter(class2_sample[:,0], class2_sample[:,1], class2_sample[:,2], marker='o', color='green', s=40, label='class 2') ax.scatter(class3_sample[:,0], class3_sample[:,1], class3_sample[:,2], marker='^', color='red', s=40, label='class 3') ax.set_xlabel('variable X') ax.set_ylabel('variable Y') ax.set_zlabel('variable Z') plt.title('3D Scatter Plot') plt.show()
2、直線使用plot3D
from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np from itertools import product, combinations fig = plt.figure(figsize=(7,7)) ax = fig.gca(projection='3d') ax.set_aspect("equal") # 畫點(diǎn) # 立方體里的點(diǎn) X_inside = np.array([[0,0,0],[0.2,0.2,0.2],[0.1, -0.1, -0.3]]) X_outside = np.array([[-1.2,0.3,-0.3],[0.8,-0.82,-0.9],[1, 0.6, -0.7], [0.8,0.7,0.2],[0.7,-0.8,-0.45],[-0.3, 0.6, 0.9], [0.7,-0.6,-0.8]]) for row in X_inside: ax.scatter(row[0], row[1], row[2], color="r", s=50, marker='^') for row in X_outside: ax.scatter(row[0], row[1], row[2], color="k", s=50) # 畫立方體 h = [-0.5, 0.5] for s, e in combinations(np.array(list(product(h,h,h))), 2): if np.sum(np.abs(s-e)) == h[1]-h[0]: ax.plot3D(*zip(s,e), color="g") ax.set_xlim(-1.5, 1.5) ax.set_ylim(-1.5, 1.5) ax.set_zlim(-1.5, 1.5) plt.show()
Python是一種跨平臺(tái)的、具有解釋性、編譯性、互動(dòng)性和面向?qū)ο蟮哪_本語言,其最初的設(shè)計(jì)是用于編寫自動(dòng)化腳本,隨著版本的不斷更新和新功能的添加,常用于用于開發(fā)獨(dú)立的項(xiàng)目和大型項(xiàng)目。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“python中matlibplot如何繪制3D圖形”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來學(xué)習(xí)!
新聞標(biāo)題:python中matlibplot如何繪制3D圖形-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://jinyejixie.com/article0/dcpioo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、云服務(wù)器、網(wǎng)站內(nèi)鏈、網(wǎng)站建設(shè)、網(wǎng)站策劃、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容