Cara Membenamkan Plot Matplotlib dalam PyQt: Panduan Langkah demi Langkah

Susan Sarandon
Lepaskan: 2024-10-26 19:28:03
asal
582 orang telah melayarinya

How to Embed Matplotlib Plots in PyQt: A Step-by-Step Guide

Membenamkan Matplotlib dalam PyQt: Panduan Komprehensif

Pengenalan

Mencipta visualisasi data yang menarik secara visual selalunya penting apabila membina antara muka pengguna. Matplotlib, perpustakaan Python yang popular, menyediakan set alat yang luas untuk mencipta graf dan carta yang pelbagai. Menggabungkan Matplotlib dengan PyQt, pengikatan Qt yang berkuasa untuk Python, membolehkan pembangun membenamkan plot interaktif dengan lancar dalam aplikasi PyQt mereka.

Panduan Langkah demi Langkah

1. Import Widget yang Diperlukan

Untuk membenamkan Matplotlib dalam PyQt, kami perlu mengimport kelas yang berkaitan daripada modul matplotlib.backends dan PyQt4. Khususnya, kami menggunakan FigureCanvasQTAgg sebagai kanvas pelukisan kami dan NavigationToolbar2QT untuk mengawal interaksi graf.

2. Cipta Rajah

Kami mulakan dengan mencipta objek Rajah, yang akan berfungsi sebagai bekas untuk plot kami. Objek ini mengawal keseluruhan reka letak dan sifat graf.

3. Cipta Kanvas

Widget FigureCanvas ialah tempat plot sebenar berlaku. Ia bertindak sebagai jambatan antara Rajah matplotlib dan aplikasi PyQt.

4. Cipta Bar Alat

Widget NavigationToolbar menyediakan kawalan navigasi seperti zum, sorot dan fungsi simpan untuk plot.

5. Tambah Butang

Untuk menunjukkan keupayaan interaktif, kami boleh menambah butang mudah yang mencetuskan fungsi plot apabila diklik.

6. Memplot Data

Di dalam fungsi memplot, kami mencipta subplot, memplot data padanya dan memuat semula kanvas untuk memaparkan graf yang dikemas kini.

Kod Contoh

<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)

        self.figure = Figure()
        self.canvas = FigureCanvas(self.figure)
        self.toolbar = NavigationToolbar(self.canvas, self)

        self.button = QtGui.QPushButton('Plot')
        self.button.clicked.connect(self.plot)

        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()

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

    main = Window()
    main.show()

    sys.exit(app.exec_())</code>
Salin selepas log masuk

Kod ini menunjukkan cara membuat tetingkap dengan plot matplotlib dibenamkan di dalamnya dan butang yang mencetuskan plot data rawak apabila diklik.

Kesimpulan

Dengan mengikut langkah ini, pembangun boleh menyepadukan plot matplotlib interaktif dengan lancar ke dalam aplikasi PyQt mereka, mewujudkan antara muka pengguna yang menarik yang melibatkan pengguna dengan visualisasi data.

Atas ialah kandungan terperinci Cara Membenamkan Plot Matplotlib dalam PyQt: Panduan Langkah demi Langkah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan