PyQt4 में Matplotlib एम्बेड करना: एक चरण-दर-चरण मार्गदर्शिका
एक इंटरैक्टिव matplotlib ग्राफ़ को PyQt4 उपयोगकर्ता इंटरफ़ेस में एकीकृत करना इसकी तुलना में सरल है लग सकता है. यहां चरण-दर-चरण स्पष्टीकरण दिया गया है:
आवश्यक मॉड्यूल आयात करें:
matplotlib.backends से प्रासंगिक क्यूटी विजेट आयात करके प्रारंभ करें। बैकएंड_qt4agg:
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as NavigationToolbar
एक Matplotlib चित्र बनाएं:
अपने लिए कैनवास के रूप में काम करने के लिए एक चित्र ऑब्जेक्ट को इंस्टेंट करें ग्राफ.
self.figure = Figure()
कैनवस के लिए एक क्यूटी विजेट इंस्टेंट करें:
चित्राकैनवस का एक उदाहरण बनाएं, जो क्यूटी विजेट का प्रतिनिधित्व करता है जो प्रदर्शित करेगा चित्र.
self.canvas = FigureCanvas(self.figure)
नेविगेशन टूलबार जोड़ें:
नेविगेशनटूलबार विजेट ज़ूमिंग, पैनिंग और सेव करने के लिए नियंत्रण प्रदान करता है चित्र.
self.toolbar = NavigationToolbar(self.canvas, self)
एक बटन बनाएं:
एक PyQt बटन बनाएं, जिस पर क्लिक करने पर, एक प्लॉट ट्रिगर हो जाएगा function.
self.button = QtGui.QPushButton('Plot')
self.button.clicked.connect(self.plot)
लेआउट डिज़ाइन करें:
विजेट्स को Qt लेआउट के भीतर व्यवस्थित करें।
layout = QtGui.QVBoxLayout()
layout.addWidget(self.toolbar)
layout.addWidget(self.canvas)
layout.addWidget(self.button)
self.setLayout(layout)
प्लॉट रैंडम डेटा:
रैंडम डेटा उत्पन्न करने और इसे चित्र पर प्लॉट करने के लिए एक फ़ंक्शन को परिभाषित करें।
def plot(self):
data = [random.random() for i in range(10)]
ax = self.figure.add_subplot(111)
ax.clear()
ax.plot(data, '*-')
self.canvas.draw()
इन चरणों का पालन करके, आप PyQt4 उपयोगकर्ता इंटरफ़ेस के भीतर एक matplotlib ग्राफ़ एम्बेड कर सकते हैं, जिससे आप डेटा को विज़ुअलाइज़ कर सकते हैं और Qt विजेट के माध्यम से इसके साथ इंटरैक्ट कर सकते हैं। &&&]
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3