Heim  >  Artikel  >  Backend-Entwicklung  >  Wie integriere ich die Matplotlib-Visualisierung in PyQt4-Anwendungen?

Wie integriere ich die Matplotlib-Visualisierung in PyQt4-Anwendungen?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-28 09:06:30184Durchsuche

How to Integrate Matplotlib Visualization into PyQt4 Applications?

Matplotlib in PyQt4 einbetten: Ein umfassender Leitfaden

Mit der Integration von Matplotlib können Sie nahtlos interaktive Datenvisualisierungen in Ihren PyQt4-Benutzeroberflächen erstellen . Auch wenn es schwierig sein kann, Beispiele für die Einbettung von Matplotlib zu finden, ist es recht einfach, den Prozess zu verstehen.

So betten Sie Matplotlib in PyQt4 ein

Um Matplotlib in PyQt4 einzubetten, befolgen Sie diese Schritte :

  1. Matplotlib-Widgets importieren:
    Importieren Sie die erforderlichen Widgets aus matplotlib.backends.backend_qt4agg, insbesondere FigureCanvasQTAgg und NavigationToolbar2QT.
  2. Instanziieren Sie Matplotlib Widgets:
    Erstellen Sie Instanzen der Widgets „Abbildung“, „Leinwand“ und „Symbolleiste“. Die Figur stellt die Plotoberfläche dar, die Leinwand zeigt die Figur an und die Symbolleiste bietet Navigations- und Zoomfunktionen.
  3. Erstellen Sie eine Plotfunktion:
    Definieren Sie eine Funktion, die Ihr gewünschtes Plot generiert , löscht das vorhandene Diagramm und zeichnet die Leinwand neu.
  4. Schaltfläche mit Plotfunktion verbinden:
    Erstellen Sie eine Schaltfläche und verbinden Sie das angeklickte Ereignis mit der Plotfunktion, um die Erstellung auszulösen Diagramm auf Abruf.
  5. Layout konfigurieren:
    Fügen Sie Ihre Matplotlib-Widgets und -Schaltflächen zu einem Layout hinzu und ordnen Sie sie wie gewünscht in Ihrer Benutzeroberfläche an.

Beispielcode:

Hier ist ein einfaches Codebeispiel zur Veranschaulichung des Prozesses:

<code class="python">import sys
from PyQt4 import QtGui

from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt4agg import NavigationToolbar2QT as NavigationToolbar
from matplotlib.figure import Figure

import random

class Window(QtGui.QDialog):
    def __init__(self, parent=None):
        super(Window, self).__init__(parent)

        # a figure instance to plot on
        self.figure = Figure()

        # this is the Canvas Widget that displays the `figure`
        # it takes the `figure` instance as a parameter to __init__
        self.canvas = FigureCanvas(self.figure)

        # this is the Navigation widget
        # it takes the Canvas widget and a parent
        self.toolbar = NavigationToolbar(self.canvas, self)

        # Just some button connected to `plot` method
        self.button = QtGui.QPushButton('Plot')
        self.button.clicked.connect(self.plot)

        # set the layout
        layout = QtGui.QVBoxLayout()
        layout.addWidget(self.toolbar)
        layout.addWidget(self.canvas)
        layout.addWidget(self.button)
        self.setLayout(layout)

    def plot(self):
        ''' plot some random stuff '''
        # random data
        data = [random.random() for i in range(10)]

        # create an axis
        ax = self.figure.add_subplot(111)

        # discards the old graph
        ax.clear()

        # plot data
        ax.plot(data, '*-')

        # refresh canvas
        self.canvas.draw()

if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)

    main = Window()
    main.show()

    sys.exit(app.exec_())</code>

Das obige ist der detaillierte Inhalt vonWie integriere ich die Matplotlib-Visualisierung in PyQt4-Anwendungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn