更新時(shí)間:2022-04-28 來源:黑馬程序員 瀏覽量:
Python大數(shù)據(jù)可視化技術(shù)里經(jīng)常會(huì)用到3D線框圖反映數(shù)據(jù)情況,Axes3D類的對(duì)象使用plot_wireframe()方法繪制線框圖,plot_wireframe()方法的語(yǔ)法格式如下所示:
plot_wireframe(self, X, Y, Z, *args, **kwargs)
該方法常用參數(shù)的含義如下。
.X,Y,Z:表示x、y、z軸的數(shù)據(jù)。
.rcount,ccount:表示每個(gè)坐標(biāo)軸方向所使用的最大樣本量,默認(rèn)為50.若輸入的樣本量更大,則會(huì)采用降采樣的方式減少樣本的數(shù)量;若輸入的樣本量為0,則不會(huì)對(duì)相應(yīng)坐標(biāo)軸方向的數(shù)據(jù)進(jìn)行采樣。
.rstride,cstride:表示采樣密度。若僅使用參數(shù)rstride或cstride中任意一個(gè),則另一個(gè)參數(shù)默認(rèn)為0。
需要注意的是,參數(shù)rstride、cstride與參數(shù)rcount、ccount是互斥關(guān)系,它們不能同時(shí)被使用。
繪制3D線框圖的示例代碼如下。
import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import axes3d fig = plt.figure() ax = fig.add_subplot(111, projection='3d') # 獲取測(cè)試數(shù)據(jù) X, Y, Z = axes3d.get_test_data(0.05) # 繪制3D線框圖 ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10) plt.show()
以上代碼首先導(dǎo)入了pyplot、axes3d模塊,其次創(chuàng)建了一個(gè)畫布fig和Axes3D類的對(duì)象ax,然后使用axes3d模塊的get_test_data()函數(shù)獲取了一些自帶的測(cè)試數(shù)據(jù),最后調(diào)用plot_wireframe()方法繪制了一個(gè)3D線框圖。
運(yùn)行程序,效果如圖7-1所示。
圖7-1 3D線框圖