Matplotlib में पारदर्शी Poly3DCollection प्लॉट बनाने के लिए, हम निम्नलिखित चरण अपना सकते हैं:
- फिगर का आकार सेट करें और सबप्लॉट के बीच और आसपास पैडिंग समायोजित करें।
- एक नया फिगर बनाएं या मौजूदा फिगर को सक्रिय करें।
- projection=3d के साथ फिगर के हिस्से के रूप में सबप्लॉट व्यवस्था में '~.axes.Axes' जोड़ें।
- x, y और z डेटा पॉइंट्स बनाएं।
- वर्टेक्स की सूची बनाएं।
- x, y और z डेटा पॉइंट्स को टुपल्स की जिप्ड सूची में बदलें।
- Poly3d के इंस्टेंस की सूची प्राप्त करें।
- add_collection3d() मेथड का उपयोग करके प्लॉट में 3D कलेक्शन ऑब्जेक्ट जोड़ें।
- एक्सिस बंद करें।
- फिगर प्रदर्शित करने के लिए 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()आउटपुट
