<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
import sys import numpy as np from PyQt5.QtGui import * from PyQt5.QtCore import * from PyQt5.QtWidgets import * import pyqtgraph as pg from ui_demo02 import Ui_MainWindow class GraphDemowWindow(QMainWindow, Ui_MainWindow): def __init__(self, parent=None): super(GraphDemowWindow, self).__init__(parent) self.setupUi(self) pg.setConfigOptions(antialias=True) # 設定開啟抗鋸齒 self.drawGraphicsLayoutWidget() self.drawPoltWidget() # 在QWidget控制元件提升為pyqtgraph.GraphicsLayoutWidget型別的控制元件上畫波形 def drawGraphicsLayoutWidget(self): # pyqtgraph.GraphicsLayoutWidget 支援的方法有: # ['nextRow', 'nextCol', 'nextColumn', 'addPlot', 'addViewBox', 'addItem', 'getItem', 'addLayout', 'addLabel', 'removeItem', 'itemIndex', 'clear'] self.graphicsLayout.clear() # 清除 plt1 = self.graphicsLayout.addPlot(y=np.random.normal(size=1000), title="溫度") plt2 = self.graphicsLayout.addPlot(y=np.random.normal(size=500), title="溼度") self.graphicsLayout.nextRow() # 影象座標換行 plt3 = self.graphicsLayout.addPlot(y=np.random.normal(size=800), title="光照度") plt4 = self.graphicsLayout.addPlot(y=np.random.normal(size=800), title="紫外線強度") # 在QWidget控制元件提升為pyqtgraph.PlotWidget型別的控制元件上畫波形 def drawPoltWidget(self): # pyqtgraph.PlotWidget 支援的方法有: # ['addItem', 'removeItem', 'autoRange', 'clear', 'setAxisItems', 'setXRange', # 'setYRange', 'setRange', 'setAspectLocked', 'setMouseEnabled', # 'setXLink', 'setYLink', 'enableAutoRange', 'disableAutoRange', # 'setLimits', 'register', 'unregister', 'viewRect'] # pen = pg.mkPen(255, 0, 0) # pen = pg.mkPen("#ff0000") # pen = pg.mkPen(color='r', width=3) pen = pg.mkPen({'color':'0F0', 'width':1}) plt1 = self.graphPlot.plot(np.random.normal(size=100), pen=pen, symbolBrush=(255, 0, 0), symbolPen=(0, 255, 0)) pen2 = pg.mkPen(color="F00", width=1) plt2 = self.graphPlot.plot(np.random.normal(size=50), pen=pen2, symbolBrush=(0, 255, 0), symbolPen=(255, 0, 0)) self.graphPlot.setAntialiasing(True) self.graphPlot.setBackground("#ffffff") if __name__ == "__main__": app = QApplication(sys.argv) win = GraphDemowWindow() win.show() sys.exit(app.exec_())
包含了兩個QWidget控制元件也可以是QGraphicsView控制元件型別。
兩個控制元件分別提升為pyqtgraph.GraphicsLayoutWidget型別和pyqtgraph.PlotWidget
GraphicsLayoutWidget型別通過addPlot方法新增波形資料,每個波形都佔有獨立的區域。
plt1 = self.graphicsLayout.addPlot(y=np.random.normal(size=1000), title=「溫度」) plt2 = self.graphicsLayout.addPlot(y=np.random.normal(size=500), title=「溼度」)
PlotWidget型別通過plot方法新增波形資料,同一控制元件內多個plot佔用同一視窗區域。
pen2 = pg.mkPen(color=「F00」, width=1) plt2 = self.graphPlot.plot(np.random.normal(size=50), pen=pen2, symbolBrush=(0, 255, 0), symbolPen=(255, 0, 0))
<?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"> <class>MainWindow</class> <widget class="QMainWindow" name="MainWindow"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>1139</width> <height>844</height> </rect> </property> <property name="windowTitle"> <string>MainWindow</string> </property> <widget class="QWidget" name="centralwidget"> <widget class="GraphicsLayoutWidget" name="graphicsLayout" native="true"> <property name="geometry"> <rect> <x>30</x> <y>20</y> <width>1091</width> <height>361</height> </rect> </property> </widget> <widget class="PlotWidget" name="graphPlot" native="true"> <property name="geometry"> <rect> <x>30</x> <y>390</y> <width>1091</width> <height>411</height> </rect> </property> </widget> </widget> <widget class="QMenuBar" name="menubar"> <property name="geometry"> <rect> <x>0</x> <y>0</y> <width>1139</width> <height>26</height> </rect> </property> </widget> <widget class="QStatusBar" name="statusbar"/> </widget> <customwidgets> <customwidget> <class>GraphicsLayoutWidget</class> <extends>QWidget</extends> <header location="global">pyqtgraph.h</header> <container>1</container> </customwidget> <customwidget> <class>PlotWidget</class> <extends>QWidget</extends> <header location="global">pyqtgraph.h</header> <container>1</container> </customwidget> </customwidgets> <resources/> <connections/> </ui>
# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'd:projectpythonpyqtgraphPygraphDemo2demo02.ui' # # Created by: PyQt5 UI code generator 5.15.7 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not edit this file unless you know what you are doing. from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1139, 844) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.graphicsLayout = GraphicsLayoutWidget(self.centralwidget) self.graphicsLayout.setGeometry(QtCore.QRect(30, 20, 1091, 361)) self.graphicsLayout.setObjectName("graphicsLayout") self.graphPlot = PlotWidget(self.centralwidget) self.graphPlot.setGeometry(QtCore.QRect(30, 390, 1091, 411)) self.graphPlot.setObjectName("graphPlot") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1139, 26)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) from pyqtgraph import GraphicsLayoutWidget, PlotWidget
到此這篇關於PyQt5使用pyqtgraph繪製波形圖的文章就介紹到這了,更多相關PyQt5 pyqtgraph繪製波形圖內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45