import pyqtgraph as pg
import numpy as np
import psutil
# 获取CPU使用率
def get_cpu_info():
cpu = "%0.2f" % psutil.cpu_percent(interval=1)
cpu_data_list.append(float(cpu))
print(float(cpu))
plot1.setData(cpu_data_list,pen='g')
memory = "%0.2f" % psutil.virtual_memory().percent
memory_data_list.append(float(memory))
print(memory)
plot2.setData(memory_data_list,pen='r')
if __name__ == '__main__':
cpu_data_list = []
memory_data_list = []
# pyqtgragh初始化
# 创建窗口
app = pg.mkQApp() # 建立app
win = pg.GraphicsWindow() # 建立窗口
win.setWindowTitle(u'pyqtgraph 实时波形显示工具')
win.resize(800, 500) # 小窗口大小
# 创建图表
historyLength = 100 # 横坐标长度
p1 = win.addPlot() # 把图p加入到窗口中
p1.showGrid(x=True, y=True) # 把X和Y的表格打开
p1.setRange(xRange=[0, historyLength], yRange=[0, 100], padding=0) # x轴和y轴的范围
p1.setLabel(axis='left', text='CPU利用率') # 靠左
p1.setLabel(axis='bottom', text='时间')
p1.setTitle('CPU利用率实时数据') # 表格的名字
plot1 = p1.plot()
p2 = win.addPlot() # 把图p加入到窗口中
p2.showGrid(x=True, y=True) # 把X和Y的表格打开
p2.setRange(xRange=[0, historyLength], yRange=[0, 100], padding=0)
p2.setLabel(axis='left', text='内存占用率') # 靠左
p2.setLabel(axis='bottom', text='时间')
p2.setTitle('内存占用率实时数据') # 表格的名字
plot2 = p2.plot()
timer = pg.QtCore.QTimer()
timer.timeout.connect(get_cpu_info) # 定时刷新数据显示
timer.start(1) # 多少ms调用一次
app.exec_()