qpython怎么用matplotlib_PyQt5 使用matplotlib.pylot画图

该博客介绍了一个Python程序,它结合了PyQt5和matplotlib库来创建一个GUI应用,用户可以通过点击按钮在界面上绘制随机数据的图形。程序首先初始化窗口,设置布局,然后连接按钮的点击事件到绘图函数。当点击开始按钮时,程序清除当前图形并绘制新的随机曲线。
摘要由CSDN通过智能技术生成

e085a203cbb6e8f188b72500717026c0.pngimport sys

import numpy as np

from PyQt5.QtWidgets import QMainWindow,QWidget,QApplication,QDesktopWidget,QPushButton,QVBoxLayout

import matplotlib.pyplot as plt

from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FC

class QtDraw(QMainWindow):

def __init__(self):

super().__init__()

self.initUI()

def initUI(self):

# matlib PyQt5

print("matplotlib")

# 载入matplotlib

self.fig = plt.Figure()

self.canvas = FC(self.fig)

self.btn_start = QPushButton("开始")

self.btn_start.clicked.connect(self.draw)

v = QVBoxLayout()

v.addWidget(self.btn_start)

v.addWidget(self.canvas)

w = QWidget()

w.setLayout(v)

self.setCentralWidget(w)

self.setGeometry(300,300,800,600)

self.center()

self.setWindowTitle("PyQt5 与 matplotlib")

def draw(self):

print("绘画开始")

try:

ax = self.fig.add_subplot(111)

x = np.linspace(0,100,100)

y = np.random.random(100)

ax.cla() #删除原图,让画布上只有新的一次的图

ax.plot(x,y)

self.canvas.draw()

except Exception as e:

print(str(e))

def center(self):

qr = self.frameGeometry()

cp = QDesktopWidget().availableGeometry().center()

qr.moveCenter(cp)

self.move(qr.topLeft())

if __name__ == "__main__":

app = QApplication(sys.argv)

draw = QtDraw()

draw.show()

sys.exit(app.exec_())

如果本文对您有所帮助,请支持下本站哦!!!^_^

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值