python之畫三維映像

來源:互聯網
上載者:User

標籤:pyplot   read   show   數組   lin   情況   切片   顏色   對象   

一:利用的包:
(1)構建3D 物件:mpl_toolkits.mplot3d裡面匯入Axes3D
(2)資料方面操作:numpy
(3)繪圖工具包:matplotlib.pyplot

二:繪圖:
1、繪圖主要分成兩種情況:
(1)一種是根據函數來繪製三維圖
(2)一種是根據三維座標繪製散佈圖

2、代碼一:繪製散佈圖(加顏色,修飾什麼的省略)

import matplotlib.pyplot as pltimport numpy as npfrom mpl_toolkits.mplot3d import Axes3Dimport csv#讀取資料datasets=[]with open(r‘a.csv‘,‘rt‘) as f:             lines=csv.reader(f)             for line in lines:                     datasets.append(line)#擷取有用部分datesets=datasets[1:]#轉化為array數組,便於列資料的切片擷取datasets=np.array(datasets)#資料類型轉換一下,以防止畫圖時精度缺失報錯X=datasets[:,-3].astype(‘float32‘)Y=datasets[:,-2].astype(‘float32‘)Z=datasets[:,-1].astype(‘float32‘)ax=plt.subplot(111,projection=‘3d‘)ax.scater(X,Y,Z)ax.set_zlabel(‘z‘)ax.set_ylabel(‘y‘)ax.set_xlabel(‘x‘)plt.show()

代碼二:以z=x+y2為例畫出三維圖:

from mpl_toolkits.mplot3d import Axes3Dimport matplotlib.pyplot as pltimport nmpy as npfig=plt.figure()ax=Axes3D(fig)#產生x,y的網格資料X=np.arange(-4,4,0.25)Y=np.arange(-4,4,0.25)X,Y=np.meshgrid(X,Y)R=np.sqrt(X+Y**2)Z=np.sin(R)ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=‘rainbow‘)

python之畫三維映像

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.