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

Matplotlib 3D (mplot3d) में पिक्ड ऑब्जेक्ट के गुण प्राप्त करें

Matplotlib 3D में pick_event इवेंट हैंडलर का उपयोग करके क्लिक किए गए 3D स्कैटर पॉइंट के निर्देशांक (x, y, z) प्राप्त करें।

चरण

  1. फिगर आकार सेट करें और पैडिंग समायोजित करें
  2. नया फिगर बनाएं या मौजूदा सक्रिय करें
  3. projection='3d' के साथ फिगर में 'ax' जोड़ें
  4. यादृच्छिक डेटा बिंदुओं का स्कैटर प्लॉट बनाएं (picker=5 से पिकिंग सक्षम)
  5. pick_event_method फंक्शन को pick_event इवेंट से बाइंड करें
  6. इवेंट के x, y, z निर्देशांक प्रिंट करें
  7. plt.show() से प्रदर्शित करें

उदाहरण


import matplotlib.pyplot as plt
import numpy as np

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')

# 3D स्कैटर प्लॉट (picker=5: 5 पिक्सेल टॉलरेंस)
ax.scatter(np.random.rand(10), np.random.rand(10), np.random.rand(10),
           c=np.random.rand(10), cmap='hot', picker=5, s=100)

# पिक इवेंट हैंडलर
def pick_event_method(event):
    ind = event.ind[0]  # पहला चुना गया इंडेक्स
    x, y, z = event.artist._offsets3d  # 3D ऑफसेट्स
    print(f"क्लिक किया गया बिंदु: x={x[ind]:.4f}, y={y[ind]:.4f}, z={z[ind]:.4f}")

# इवेंट कनेक्ट करें
fig.canvas.mpl_connect('pick_event', pick_event_method)

plt.show()

आउटपुट

3D स्कैटर प्लॉट। किसी बिंदु पर क्लिक करने पर कंसोल पर उसके निर्देशांक प्रिंट होते हैं:


क्लिक किया गया बिंदु: x=0.2947, y=0.7272, z=0.5517
क्लिक किया गया बिंदु: x=0.7393, y=0.8807, z=0.2073
क्लिक किया गया बिंदु: x=0.4056, y=0.9709, z=0.1012

मुख्य घटक

  • picker=5: पिकिंग सक्षम करता है, 5 पिक्सेल टॉलरेंस के साथ
  • event.ind: चुने गए पॉइंट्स के इंडेक्स की सरणी
  • event.artist._offsets3d: 3D स्कैटर के लिए (x, y, z) सरणियों का टपल
  • fig.canvas.mpl_connect(): इवेंट को हैंडलर से जोड़ता है

उपयोग के मामले

  • इंटरैक्टिव 3D डेटा अन्वेषण
  • क्लिक पर टूलटिप/विवरण दिखाना
  • 3D प्लॉट से डेटा चयन/निकालना
  • 3D एनोटेशन टूल बनाना

नोट

_offsets3d एक निजी एट्रिब्यूट है। भविष्य के संस्करणों में get_offsets() या समान पब्लिक API का उपयोग करना बेहतर हो सकता है।

  1. Python/Matplotlib में इक्वल एस्पेक्ट फिगर के कोने में टेक्स्ट कैसे रखें? Python/Matplotlib में इक्वल एस्पेक्ट फिगर के कोने में टेक्स्ट कैसे रखें?

    Matplotlib में इक्वल एस्पेक्ट फिगर के कोने में टेक्स्ट रखने के लिए निम्नलिखित चरणों का पालन करें: चरण फिगर का आकार सेट करें और सबप्लॉट्स के बीच पैडिंग एडजस्ट करें। subplots() मेथड का उपयोग करके फिगर और सबप्लॉट्स का सेट बनाएं। NumPy का उपयोग करके x डेटा पॉइंट्स बनाएं। plot() मेथड का उपयोग करके x को

  1. Tkinter कैनवस में ऑब्जेक्ट के निर्देशांक कैसे प्राप्त करें? Tkinter कैनवस में ऑब्जेक्ट के निर्देशांक कैसे प्राप्त करें?

    Tkinter कैनवस विजेट एप्लिकेशन को GUI फीचर्स प्रदान करता है। इसका उपयोग आकार बनाने, ऑब्जेक्ट्स को एनिमेट करने, और कैनवस में मौजूदा आइटम्स को कॉन्फ़िगर करने के लिए किया जा सकता है। जब भी हम आकार बनाते हैं, तो हमें कैनवस आइटम कंस्ट्रक्टर में आकार और निर्देशांक प्रदान करने होते हैं। कैनवस पर किसी आइटम

  1. Python Matplotlib का उपयोग करके 3D ग्राफ़ कैसे प्लॉट करें? Python Matplotlib का उपयोग करके 3D ग्राफ़ कैसे प्लॉट करें?

    Python का उपयोग करके 3D ग्राफ़ प्लॉट करने के लिए, हम निम्नलिखित चरण अपना सकते हैं: figure() मेथड का उपयोग करके नया फिगर बनाएं या मौजूदा फिगर सक्रिय करें। 3D एक्सिस ऑब्जेक्ट प्राप्त करें। डेटा पॉइंट्स के लिए x, y, और z लिस्ट बनाएं। scatter3D() मेथड का उपयोग करके x, y, और z डेटा पॉइंट्स के सा