作者简介:85后一名分析化学工作者及科学爱好者,深爱着北京的老北京人,爱好运动,科学,旅行,本文作者的个人微信公众号《科学是什么东东》,欢迎关注!
在这一专题中,我们将使用python编程,以及psutil模块针对计算机性能查询,绘制出CPU使用率实时折线图,效果如下:
由于是python-matplotlib专题,我们将重点讲解绘制CPU性能监控图,在进行编程前,我们需要安装一个额外的第三方库psuti,安装方法如图所示:
下载后在cmd控制台上输入pip install 文件路径即可
主程序代码:
主要步骤解析为#后面的部分
#首先介绍在python输入中文不报错的方法:在主程序前加入
#!/usr/bin/env python
#coding=utf-8
#并在之后的文本输入的""前加u
#导入每个会用到的模块
import psutil
import datetime
import time
import matplotlib.pyplot as plt
import matplotlib.animation as animation
print(u"正在生成CPU性能监控图,请稍候")
#定义函数这里的目的是设置xy变量
def data1(t=0):
y = 1
x = 0
while True:
#下面语句是获取cpu数值,1s获取一次,可修改
y = psutil.cpu_percent(interval=1)
x += 1
yield x,y
#初始化函数,定义起始x范围1~10,y相当于0%~100%
def init():
ax.set_ylim(0, 100)
ax.set_xlim(0, 10)
del y_cpudata[:]
del x_cpudata[:]
line.set_data(x_cpudata, y_cpudata)
return line,
#应用plot命令绘制折线图,线宽为2,颜色红色
fig, ax = plt.subplots()
line, = ax.plot([], [], lw=3,c ='red')
ax.grid()
x_cpudata, y_cpudata = [], []
#构建表格移动函数,通过if语句使表格随数据移动
def run(data):
t, y = data
x_cpudata.append(t)
y_cpudata.append(y)
xmin, xmax = ax.get_xlim()
if t >= xmax:
ax.set_xlim(xmin+10, xmax+10)
ax.figure.canvas.draw()
line.set_data(x_cpudata, y_cpudata)
return line,
#这里大家应该比较熟悉了,允许输入x,y轴标题及主标题,以及定义字号大小
ax.set_xlabel("Time(s)",fontsize=20)
ax.set_ylabel("Percentage(%)",fontsize=20)
ax.set_title("CPU Performance Monitoring Chart",fontsize=25)
#最后一步,生成动画视图,定义间隔等
ani=animation.FuncAnimation(fig,cpurun,data1,interval=10,blit=False, repeat=False, init_func=init)
plt.show()
点击:编译--执行,查看最终效果吧~
当然,通过功能强大的第三方库psuti,我们可以编写一系列脚本语句,使程序获取计算机性能信息,方便快捷的查询诸如:
系统时间,内存,CPU使用率,磁盘空间等信息,后续如有机会笔者会做相关介绍,网上也可以查询到很多教程。
讲到这里,本期的内容就告一段落了,脚本编辑是开放式设计,可以进行很多改造,让程序段更完善。
本文作者的个人微信公众号《科学是什么东东》,欢迎关注!