当前位置: 首页 > 工具软件 > PyQtGraph > 使用案例 >

【无标题】pyqtgraph 使用

乐正明辉
2023-12-01

1.安装

pip install pyqtgraph 

2.designer 添加PlotWidget

操作步骤如下:

  1. Designer中,创建一个QGraphicsView小部件(“Graphics View”类别下的“Display Widgets”)
  2. 用鼠标右键单击QGraphicsView并选择““Promote To…”
  3. 在“Promoted calss name”下,输入您希望使用的类名称(“PlotWidget”,“GraphicsLayoutWidget”等)。这里我选的是PlotWidget
  4. 在“Header file”下,输入“pyqtgraph”
  5. 点击“Add”,然后点击“Promote”

3.PlotWidget使用

# test1.py

from PyQt5 import QtCore, QtGui, QtWidgets
from pyqtgraph import PlotWidget


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(965, 783)
        self.plotWidget = PlotWidget(Form)
        self.plotWidget.setGeometry(QtCore.QRect(60, 100, 851, 521))
        self.plotWidget.setStyleSheet("")
        self.plotWidget.setObjectName("plotWidget")

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "Form"))

from PyQt5.QtWidgets import QWidget, QMainWindow, QApplication
from test1 import Ui_Form
from constant import x, y, b


class TestUI(QWidget, Ui_Form):

    def __init__(self):
        super(TestUI, self).__init__()
        self.setupUi(self)

        # # 设置背景
        # self.plotWidget.setBackground('w')
        # # 增加图例
        # # (1,2)中的2代表有2条线,系统会自动创建两种不同的颜色,1就代表这是第一条线
        # self.plotWidget.addLegend()
        # self.plotWidget.plot(x, y, pen=(1, 2), name='训练集')
        # self.plotWidget.plot(x, b, pen=(2, 2), name='测试集')
        # # 设置X轴,Y轴
        # self.plotWidget.setLabel('left', 'LOSS')
        # self.plotWidget.setLabel('bottom', 'epoch')
        # # 设置网格
        # self.plotWidget.showGrid(x=True, y=True)

        # 设置背景
        self.plotWidget.setBackground('w')
        # 增加图例
        # (1,2)中的2代表有2条线,系统会自动创建两种不同的颜色,1就代表这是第一条线
        self.plotWidget.addLegend()
        curve1 = self.plotWidget.plot(pen=(1, 2), name='训练集')
        curve2 = self.plotWidget.plot(pen=(2, 2), name='测试集')
        # 设置X轴,Y轴
        self.plotWidget.setLabel('left', 'LOSS')
        self.plotWidget.setLabel('bottom', 'epoch')
        # 设置网格
        self.plotWidget.showGrid(x=True, y=True)

        curve1.setData(x, y)
        curve2.setData(x, b)


if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    ui = TestUI()
    ui.show()

    sys.exit(app.exec_())
 类似资料: