matplotlib嵌入pyqt

在PyQt中显示Matplotlib图表,通常使用 FigureCanvasQTAgg 类,这个类可以将Matplotlib的图表嵌入到PyQt应用程序中。

效果如图:

1.导入了Matplotlib的绘图库:

import matplotlib.pyplot as plt

2.创建一个Matplotlib图形对象:

self.figure = plt.figure()

3.将 Matplotlib 的图形(Figure)对象嵌入到一个 PyQt 应用程序中,以便在 GUI 窗口中显示图表

self.canvas = FigureCanvasQTAgg(self.figure)

其中FigureCanvasQTAgg 是 Matplotlib 的 Qt5 Agg 后端,用于在 Qt 应用程序中呈现 Matplotlib 图表。

最后,你可以将图表添加到自己的布局中。
以下为详细代码:
 

import sys
import matplotlib.pyplot as plt
from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas

class MatplotlibWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):
        self.setWindowTitle('Matplotlib in PyQt')

        # 创建Matplotlib图形
        self.figure = plt.figure()
        self.canvas = FigureCanvas(self.figure)

        # 创建一个垂直布局并将Matplotlib图形添加到其中
        layout = QVBoxLayout()
        layout.addWidget(self.canvas)

        # 创建一个QWidget并将布局设置为其主布局
        main_widget = QWidget(self)
        main_widget.setLayout(layout)
        self.setCentralWidget(main_widget)

        # 创建一个Matplotlib子图
        self.ax = self.figure.add_subplot(111)
        self.ax.set_title('Matplotlib in PyQt')

        # 绘制一个简单的图形
        self.ax.plot([1, 2, 3, 4], [10, 5, 20, 8])

        # 更新Matplotlib图形
        self.canvas.draw()

def main():
    app = QApplication(sys.argv)
    window = MatplotlibWindow()
    window.show()
    sys.exit(app.exec_())

if __name__ == '__main__':
    main()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高亚奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值