在做上位機資料監視時候,有時候會讀取PLC内資料,以波形圖的方式繪制出來,今天介紹一個python的庫pyqtgraph,pyqtgraph 是純 Python 圖形 GUI 庫。今天介紹一下pyqtgraph的使用。
1、安裝pyqtgraph。
pip install pyqtgraph
2、在視窗中添加一個Grid Layout控件。
UI
3、建立一個creat_graph方法。在Grid Layout裡添加pyqtgragh。
def create_graph(self): graph = pg.PlotWidget() //執行個體化PlotWidget() self.gridLayout.addWidget(graph) //在gridLayout中添加graph graph.setBackground([255, 255, 255]) //設定背景顔色 graph.setLabel(axis='left', text='random') //設定Y軸的名稱 graph.setYRange(0, 6000) //Y軸範圍 graph.setXRange(0, 201) //X軸範圍 graph.showGrid(x=True, y=True) //顯示網格 graph.setLimits(xMin=0, xMax=200, yMin=-100, yMax=6000) //設定縮放範圍 self.curve = graph.plot(pen=[255, 0, 0]) //添加一天曲線
4、畫曲線,用定時觸發。setData()裡的資料是一個數組,将生成的随機數添加到數組裡。
def draw_curve(self): history_length = 200 data = random.randrange(0, 5000, 1) global i if i < history_length: self.curve_data.append(data) i += 1 else: self.curve_data[:-1] = self.curve_data[1:] self.curve.setData(self.curve_data)def time_click(self): timer = pg.QtCore.QTimer(self) timer.timeout.connect(self.draw_curve) timer.start(100)
5、運作。
波形圖
實作一個波形圖的實時更新,感謝支援!!