में एम्बेडेड Matplotlib इंटरैक्टिव ग्राफ मैंने एक साधारण पायथन स्क्रिप्ट बनाई है कि जब रन को एक पीईक्यूटी विंडो के अंदर एक एम्बेडेड matplotlib ग्राफ प्रदर्शित करना चाहिए। मैंने ग्राफ को एम्बेड करने और चलाने के लिए this ट्यूटोरियल का उपयोग किया है। नामकरण सम्मेलनों में कुछ अंतरों के अलावा और समग्र यूआई में मेरा ग्राफ बिल्कुल ट्यूटोरियल में से एक के रूप में उत्पन्न होता है।Pyqt
मेरी समस्या यह है कि मैं इसे एक इंटरैक्टिव ग्राफ बनाना चाहता हूं जो ज़ूमिंग और ड्रैगिंग के लिए अनुमति देता है, लेकिन मैं इसे केवल माउस (क्लिक करना और खींचना, स्क्रॉल व्हील इत्यादि) के साथ करना चाहता हूं और टूलबार के बिना (क्योंकि मुझे यह बदसूरत लगता है)।
विजेट वर्ग:
class MplCanvas(FigureCanvas):
"""
Creates a canvas on which to draw our widgets
"""
def __init__(self):
self.fig = Figure()
self.ax = self.fig.add_subplot(111)
FigureCanvas.__init__(self, self.fig)
FigureCanvas.setSizePolicy(self, QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Expanding)
FigureCanvas.updateGeometry(self)
class marketdephWidget(QtGui.QWidget):
"""
The market deph graph
"""
def __init__(self, parent = None):
QtGui.QWidget.__init__(self, parent)
self.canvas = MplCanvas()
self.vbl = QtGui.QVBoxLayout()
self.vbl.addWidget(self.canvas)
self.setLayout(self.vbl)
साजिश समारोह (बटन प्रेस पर चलने):
# initialize the mplwidgets
def PlotFunc(self):
randomNumbers = random.sample(range(0, 10), 10)
self.ui.widget.canvas.ax.clear()
self.ui.widget.canvas.ax.plot(randomNumbers)
self.ui.widget.canvas.draw()