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

Matplotlib में वक्र में कर्सर कैसे जोड़ें?

Matplotlib में कर्व में कर्सर जोड़ने के लिए, हम निम्नलिखित कदम उठा सकते हैं -

  • आकृति का आकार सेट करें और सबप्लॉट के बीच और आसपास पैडिंग समायोजित करें।
  • बनाएं टी और s डेटा अंक numpy का उपयोग कर रहे हैं।
  • एक आकृति और सबप्लॉट का एक सेट बनाएं।
  • प्लॉट पर कर्सर बिंदुओं को अपडेट करने के लिए कर्सर वर्ग का उदाहरण प्राप्त करें।
  • माउस_इवेंट में, माउस की वर्तमान स्थिति का x और y डेटा प्राप्त करें।
    • x और y डेटा बिंदुओं के सूचकांक प्राप्त करें।
    • x और y स्थिति सेट करें।
    • टेक्स्ट की स्थिति सेट करें और agg बफ़र और माउस इवेंट को फिर से बनाएं।
  • प्लॉट टी और s साजिश () . का उपयोग करके डेटा बिंदु विधि।
  • कुछ अक्ष गुण सेट करें।
  • आंकड़ा प्रदर्शित करने के लिए, दिखाएं () . का उपयोग करें विधि।

उदाहरण

import matplotlib.pyplot as plt
import numpy as np

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

class CursorClass(object):
    def __init__(self, ax, x, y):
        self.ax = ax
        self.ly = ax.axvline(color='yellow', alpha=0.5)
        self.marker, = ax.plot([0], [0], marker="o", color="red", zorder=3)
        self.x = x
        self.y = y
        self.txt = ax.text(0.7, 0.9, '')

def mouse_event(self, event):
    if event.inaxes:
        x, y = event.xdata, event.ydata
        indx = np.searchsorted(self.x, [x])[0]
        x = self.x[indx]
        y = self.y[indx]
        self.ly.set_xdata(x)
        self.marker.set_data([x], [y])
        self.txt.set_text('x=%1.2f, y=%1.2f' % (x, y))
        self.txt.set_position((x, y))
        self.ax.figure.canvas.draw_idle()
     else:
        return

t = np.arange(0.0, 1.0, 0.01)
s = np.sin(2 * 2 * np.pi * t)

fig, ax = plt.subplots()

cursor = CursorClass(ax, t, s)
cid = plt.connect('motion_notify_event', cursor.mouse_event)

ax.plot(t, s, lw=2, color='green')
plt.axis([0, 1, -1, 1])

plt.show()

आउटपुट

Matplotlib में वक्र में कर्सर कैसे जोड़ें? Matplotlib में वक्र में कर्सर कैसे जोड़ें?


  1. Matplotlib में आयत में टेक्स्ट कैसे जोड़ें?

    Matplotlib में एक आयत में टेक्स्ट जोड़ने के लिए, हम आयत के केंद्र बिंदु पर एनोटेट विधि में एक लेबल जोड़ सकते हैं। कदम आकृति () . का उपयोग करके कोई आकृति बनाएं या मौजूदा आकृति को सक्रिय करें विधि। वर्तमान अक्ष में एक सबप्लॉट व्यवस्था जोड़ें। प्लॉट में आयत जोड़ने के लिए, आयताकार () . का उपय

  1. कैसे Matplotlib में एक pcolormesh चेतन करने के लिए?

    pcolormesh . को चेतन करने के लिए matplotlib में, हम निम्नलिखित कदम उठा सकते हैं - एक आकृति और सबप्लॉट का एक सेट बनाएं। numpy . का उपयोग करके x, y और t डेटा बिंदु बनाएं । बनाएं X3 , Y3 और T3, मेशग्रिड का उपयोग करके निर्देशांक वैक्टर से निर्देशांक मैट्रिक्स लौटाएं। pcolormesh() . का उपय

  1. Matplotlib में hist2d प्लॉट के लिए कलरबार कैसे जोड़ें?

    hist2d . के लिए कलरबार जोड़ने के लिए प्लॉट, हम कलरबार () विधि के तर्क के लिए एक स्केलर मैपेबल ऑब्जेक्ट पास कर सकते हैं। कदम numpy का उपयोग करके x और y डेटा पॉइंट बनाएं। सबप्लॉट्स () . का उपयोग करके एक फिगर और सबप्लॉट का एक सेट बनाएं विधि। hist2d() . का उपयोग करके एक 2D हिस्टोग्राम प्लॉट ब