Computer >> Máy Tính >  >> Lập trình >> Python

Tính minh bạch cho biểu đồ Poly3DCollection trong Matplotlib

Để vẽ một biểu đồ Poly3DCollection trong suốt trong Matplotlib, chúng ta có thể thực hiện các bước sau -

  • Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô con
  • Tạo một hình mới hoặc kích hoạt một hình hiện có.
  • Thêm '~ .axes.Axes' vào hình như một phần của sắp xếp ô con với chiếu =3d .
  • Tạo x , y z điểm dữ liệu.
  • Lập danh sách các đỉnh.
  • Chuyển đổi x , y z điểm dữ liệu vào một danh sách các bộ giá trị được nén.
  • Nhận danh sách bản sao của Poly3d .
  • Thêm đối tượng bộ sưu tập 3D vào âm mưu bằng cách sử dụng add_collection3d () phương pháp.
  • Tắt các trục.
  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

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()

Đầu ra

Tính minh bạch cho biểu đồ Poly3DCollection trong Matplotlib