Matplotlib 3D 線圖
本教程演示了在 Matplotlib 中建立 3D 繪圖以及如何在 Matplotlib 中使用多種顏色建立它。
在 Matplotlib 中建立 3D 線圖
三維繪圖的概念無處不在。流經水、油、汽油或任何我們管道的管道是具有長度、寬度和高度的三維。
因此,我們還可以使用 mpl_toolkits
工具建立圖形或繪圖,這使得在 Matplotlib 中建立 3D 繪圖變得更加容易。
讓我們從匯入以下模組開始。
import numpy as np
import matplotlib.pyplot as plot
from mpl_toolkits import mplot3d
現在我們必須指定座標,但是在我們開始繪製三維空間之前,我們需要建立一個軸,並且這個軸必須有一個 3D projection
引數。我們有不同的預測。
我們不僅有 3D 投影。我們可以使用大量不同的投影,所以如果我們想建立一個新的軸,我們需要呼叫 axes()
方法。
要建立 3D 繪圖,我們可以傳遞一個 projection
引數並將值設定為 "3d"
。
axes=plot.axes(projection="3d")
我們使用 arange()
numpy 方法建立三個維度的資料。arange()
是你選擇起點、終點和步長。
我們對 y_data
做同樣的事情。我們在 z
座標上使用了一些數學函式,以便在我們的繪圖中獲得更好的結果。
axes=plot.axes(projection="3d")
x_data=np.arange(0,50,0.1)
y_data=np.arange(0,50,0.1)
z_data=np.sin(x_data) * np.cos(y_data)
完整程式碼示例:
import numpy as np
import matplotlib.pyplot as plot
from mpl_toolkits import mplot3d
axes=plot.axes(projection="3d")
x_data=np.arange(0,50,0.1)
y_data=np.arange(0,50,0.1)
z_data=np.sin(x_data) * np.cos(y_data)
axes.plot(x_data,y_data,z_data)
plot.show()
輸出:
在 Matplotlib 中建立多色 3D 線圖
此示例演示如何使用多種顏色的 3D 線圖。在下面的程式碼中,我們只是分離每個線段並在六種預定義顏色上迭代迴圈。
colors = 'rgbcmy'
for i in range(len(x_data)-1):
axes.plot(x_data[i:i+2], y_data[i:i+2], z_data[i:i+2], color=colors[i%6] )
# ax.plot(x[i:i+2], y[i:i+2], z[i:i+2], color=cols[i%6])
完整程式碼示例:
import numpy as np
import matplotlib.pyplot as plot
from mpl_toolkits import mplot3d
axes=plot.axes(projection="3d")
x_data=np.arange(0,50,0.1)
y_data=np.arange(0,50,0.1)
z_data=np.sin(x_data) * np.cos(y_data)
colors = 'rgbcmy'
for i in range(len(x_data)-1):
axes.plot(x_data[i:i+2], y_data[i:i+2], z_data[i:i+2], color=colors[i%6] )
# ax.plot(x[i:i+2], y[i:i+2], z[i:i+2], color=cols[i%6])
plot.show()
輸出:
單擊此處閱讀有關 3D 繪圖的詳細文件。
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedIn