Matplotlib 中的 Poly3DCollection 繪圖的透明度
要繪製 Matplotlib 中透明的 Poly3DCollection 圖,我們可以採取以下步驟 -
- 設定圖形大小,調整子圖之間的和周圍的填充。
- 建立新圖形或啟用現有圖形。
- 將 '~.axes.Axes' 以包含 projection=3d 的子圖排列的一部分新增到圖形中。
- 建立 x、y 和 z 資料點。
- 列出頂點。
- 將 x、y 和 z 資料點轉換為元組的壓縮列表。
- 獲取 Poly3d 的例項列表。
- 使用 add_collection3d() 方法將三維集合物件新增到繪圖中。
- 關閉座標軸。
- 使用 show() 方法顯示圖形。
示例
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d.art3d import Poly3DCollection, Line3DCollection
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x = [0, 2, 1, 1]
y = [0, 0, 1, 0]
z = [0, 0, 0, 1]
vertices = [[0, 1, 2], [0, 1, 3], [0, 2, 3], [1, 2, 3]]
tupleList = list(zip(x, y, z))
poly3d = [[tupleList[vertices[ix][iy]]
for iy in range(len(vertices[0]))]
for ix in range(len(vertices))]
ax.scatter(x, y, z)
ax.add_collection3d(Poly3DCollection(poly3d, facecolors='w', linewidths=1, alpha=0.5))
ax.add_collection3d(Line3DCollection(poly3d, colors='k', linewidths=2, linestyles='--'))
plt.axis('off')
plt.show()輸出

廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP