Matplotlib是一個Python 2D繪圖庫,它可以在各種平台上以各種硬拷貝格式和互動式環境產生出具有出版品質的圖形。
在上篇中講述的是如何填滿圖形顏色和線條的,而今天帶給大家的是用matplotlib製作3D圖形。之前嘗試了多種2D圖形,相信大家一定對3D圖形充滿興趣。
Matplotlib 內建了三維圖形,所以我們不需要再下載任何東西。首先,我們需要引入一些完整的模組:
from mpl_toolkits.mplot3d import axes3d import matplotlib.pyplot as plt
使用axes3d是因為它需要不同種類的軸域,以便在三維中實際繪製一些東西。下面:
fig = plt.figure() ax1 = fig.add_subplot(111, projection='3d')
在這裡,我們像通常一樣定義圖形,然後我們將ax1定義為通常的子圖,只是這次使用 3D 投影。我們需要這樣做,以便提醒 Matplotlib 我們要提供三維資料。
現在讓我們建立一些 3D 資料:
x = [1,2,3,4,5,6,7,8,9,10] y = [5,6,7,8,2,5,6,3,7,2] z = [1,2,6,3,2,7,3,3,7,2]
接下來,我們繪製它。首先,讓我們展示一個簡單的線框範例:
ax1.plot_wireframe(x,y,z)
最後:
ax1.set_xlabel('x axis') ax1.set_ylabel('y axis') ax1.set_zlabel('z axis') plt.show()
我們完整的程式碼是:
from mpl_toolkits.mplot3d import axes3d import matplotlib.pyplot as plt from matplotlib import style style.use('fivethirtyeight') fig = plt.figure() ax1 = fig.add_subplot(111, projection='3d') x = [1,2,3,4,5,6,7,8,9,10] y = [5,6,7,8,2,5,6,3,7,2] z = [1,2,6,3,2,7,3,3,7,2] ax1.plot_wireframe(x,y,z) ax1.set_xlabel('x axis') ax1.set_ylabel('y axis') ax1.set_zlabel('z axis') plt.show()
結果為(包含所使用的樣式):
總結
這些3D 圖形可以進行互動。首先,您可以使用滑鼠左鍵單擊並拖曳來移動圖形。您也可以使用滑鼠右鍵並拖曳來放大或縮小。
以上是用Matplotlib如何繪製3D圖形的詳細內容。更多資訊請關注PHP中文網其他相關文章!