Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Matplotlib में Poly3DCollection प्लॉट के लिए पारदर्शिता


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

आउटपुट

Matplotlib में Poly3DCollection प्लॉट के लिए पारदर्शिता


  1. Matplotlib में एक्सिस के बिना 3D बार्स कैसे प्लॉट करें? Matplotlib में एक्सिस के बिना 3D बार्स कैसे प्लॉट करें?

    3D बार चार्ट बनाने के लिए bar3d() उपयोग करें और ax.axis(off) से एक्सिस छुपाएं। चरण फिगर साइज़ और ऑटोलेआउट सेट करें। fig.add_subplot(111, projection=3d) से 3D एक्सिस बनाएं। x3, y3, z3 (बेस), dx, dy, dz (आयाम) ऐरे बनाएं। ax1.bar3d() से 3D बार्स प्लॉट करें। ax1.axis(off) से एक्सिस छुपाएं। plt.show() स

  1. Matplotlib में बार के लेबल के रूप में इमोजी कैसे प्लॉट करें? Matplotlib में बार के लेबल के रूप में इमोजी कैसे प्लॉट करें?

    बार के ऊपर इमोजी लेबल लगाने के लिए plt.annotate() का उपयोग करें। चरण फिगर साइज़ और ऑटोलेआउट सेट करें। फ्रीक्वेंसीज़ और इमोजी लेबल्स की लिस्ट बनाएं। plt.bar() से बार्स प्लॉट करें। प्रत्येक बार के लिए plt.annotate() से इमोजी ऊपर रखें (ha=center, va=bottom, fontsize=30)। plt.show() से दिखाएं। उदाहरण

  1. Matplotlib में 3D बार के लिए लीजेंड कैसे बनाएं? Matplotlib में 3D बार के लिए लीजेंड कैसे बनाएं?

    3D बार चार्ट में लीजेंड जोड़ने के लिए plt.Rectangle प्रॉक्सी आर्टिस्ट्स बनाएं और ax.legend() में पास करें। चरण फिगर साइज़ और ऑटोलेआउट सेट करें। 3D एक्सिस बनाएं और दो सेट्स के 3D बार्स प्लॉट करें (अलग रंग)। प्रत्येक सेट के लिए plt.Rectangle((0,0), 1, 1, fc=color) प्रॉक्सी बनाएं। ax.legend([proxy1, p