pyqt5使用matplotlib绘图

本文介绍了如何在PyQt5环境中利用matplotlib进行图形绘制,包括引入所需库、创建FigureCanvas、绘制图形以及响应按钮更新图像的过程。

说明

在pyqt5中使用matplotlib步骤:
1、引入plt
2、引入FigureCanvas
3、生成figure
4、取得FigureCanvas
5、将FigureCanvas加入容器中
6、调用plt函数来绘图

代码

import sys
# 1、引入plt
import matplotlib.pyplot as plt
import numpy as np
# 2、引入FigureCanvas
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from PyQt5.QtWidgets import QApplication, QVBoxLayout, QHBoxLayout, QWidget, QPushButton


class MyApp(QWidget):
    def __init__(self):
        super().__init__()
        self.resize(1400, 800)
        self.setWindowTitle('PyQt5 绘制matplot图像')

        # 创建一个按钮,点击时更新图像
        self.button1 = QPushButton(self)
        self.button1.setText('画图')
        self.button1.clicked.connect(self.draw)

        # layout1
        self.layout1 = QVBoxLayout()
        self.layout1.addWidget(self.button1)

        # 3、生成figure
        self.fig = plt.figure(figsize=(6, 4), dpi=300)

        # layout2
        self.layout2 = QHBoxLayout()

        self.layout = QVBoxLayout(self)  # 至少主布局要在UI界面上,最好每个子布局也在,因此继承自self
        self.layout.addLayout(self.layout1)
        self.layout.addLayout(self.layout2)

        # 4、FigureCanvas
        self.canvas = FigureCanvas(self.fig)
        # 5、加入容器
        self.layout2.addWidget(self.canvas)

    def draw(self):
        # 6、绘图
        plt.clf()
        x = np.linspace(0, 4 * np.pi, 1000)
        y = np.sin(x)
        plt.plot(x, y)
        self.canvas.draw()


if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MyApp()
    window.show()
    sys.exit(app.exec_())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值