Python绘制计算机CPU占有率变化的折线图
作者:Mr_fengzi 发布时间:2021-08-11 05:50:37
标签:Python,CPU,折线图
本篇文章将实现用Python获取系统信息CPU占有率并将其变化绘制成折线图。
第一步:获取系统CPU占有率信息
psutil模块是专门获取系统信息的模块,在该模块里有一个cpu_percent()方法是用来获取系统CPU占有率的。我们每隔1s获取一次CPU占有率,并将获取到的信息存储在指定文件中,将其保存起来,本案例中我将文件命名为cpu.txt
则第一步获取信息的代码如下:
# 获取系统信息的模块
import psutil
import time
# m每隔一秒绘制CPU的占有率; 如何持久化保存? 如何将时间和对应的cpu占有率匹配;
while True:
# 获取当前时间和cpu占有率
t = time.localtime()
cur_time = '%d:%d:%d' %(t.tm_hour, t.tm_min, t.tm_sec)
cpu_res = psutil.cpu_percent()
# print(cpu_res)
# 保存到文件中;
with open('cpu.txt', 'a+') as f:
f.write('%s %s\n' %(cur_time, cpu_res))
time.sleep(1)
运行之后可以打开文件,可以看到相应的时间下的存储的CPU占有率:
第二步:将获取到的信息绘制成折线图
pyecharts模块是用来绘制图形的模块,其中的Line是绘制折线图的,如果想要绘制散点图则导入Scatter。我们要绘制折线图,所以导入的是Line。
先创建两个空列表,一个用来存储时间变化,一个用来存储CPU占有率的变化,然后打开之前存好的信息,并遍历文件的每一行内容,将内容添加到列表中,之后对列表中的内容进行绘图就OK。
代码如下:
mport random
from pyecharts import options as opts
from pyecharts.charts import Line
# 获取折线图需要绘制的数据信息;
x = []
y = []
with open('cpu.txt') as f: # 以读的方式打开文件
for line in f: # 依次遍历文件的每一行内容
time, per = line.split() # 返回时间和对应时间的cpu占有率
x.append(time)
y.append(per)
# 实例化Line类为line对象, 并添加x和y对应的点;
line = (
Line()
.add_xaxis(x)
.add_yaxis("", y)
.set_global_opts(title_opts=opts.TitleOpts(title="Cpu占有率散点图"))
)
# 将折线图信息保存到文件中;
line.render()
运行后可以得到一个render.html的文件,打开它之在右上角选择要打开的浏览器,即可显示出绘制好的图形了,如下所示:
来源:https://blog.csdn.net/Mr_fengzi/article/details/93473732


猜你喜欢
- 表结构如下面代码创建 CREATE TABLE test_tb ( TestId int not null identity(1,1) pr
- 对方用<script language="javascript"> var location="&
- MySQL表中的约束(constraint)为了保证数据的完整性,(数据的精确性和可靠性)SQL规范以约束的方式对表数据进行额外的条件限制,
- 代码如下:function HTMLEncode(fString) fString=Replace(fString,&q
- 本文实例讲述了wxPython使用系统剪切板的方法。分享给大家供大家参考。具体如下:程序运行效果如下图所示:主要代码如下:import wx
- 这篇文章主要介绍了基于python3实现倒叙字符串,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可
- 1、数据驱动介绍:@ddt.ddt(类装饰器,申明当前类使用ddt框架)@ddt.data(函数装饰器,用于给测试用例传递数据),支持传py
- 本次小编向大家介绍的是根据用户的需求输入想爬取的内容及页数。主要步骤:1.提示用户输入爬取的内容及页码。2.根据用户输入,获取网址列表。3.
- 如果用到数据筛选功能,可以使用x if condition else y的逻辑实现。如果使用的是纯Python,可以使用不断迭代的方式对每一
- 为什么要用numpy Python中提供了list容器,可以当作数组使用。但列表中的元素可以是任何对象,
- 接口性能测试时,接口请求参数是根据一定的规则拼接后进行MD5加密后再进行传参,因此借助于python脚本实现,则可以有效提升测试效率。1.分
- 代码如下:Select * from T_Employee select FName,FAge from T_Employee select
- 本文实例为大家分享了python3通过qq邮箱发送邮件以及附件的具体代码,供大家参考,具体内容如下开启qq邮箱的smtp服务代码:impor
- 最终的目标是想这样的,在JavaScript里写一个swing来实现确定取消,来决定是否执行这个功能的,但是在执行的过程中,出现了一点问题,
- 本文实例讲述了Python找出list中最常出现元素的方法。分享给大家供大家参考,具体如下:假设一个list中保存着各种元素,需要统计每个元
- Python中除了字典,列表,元组还有一个非常好用的数据结构,那就是set了,灵活的运用set可以减去不少的操作(虽然set可以用列表代替)
- python queue队列类型及函数1.队列的种类Python queue模块的FIFO队列先进先出。 class queue.Queue
- 我们知道,正则表达式是一个处理字符串中很实用的技巧。然而,即便是Javascript写的很厉害的程序猿,有时也会忘掉正则表达式的语法,从而使
- 一、下载instant client1.附链接:http://www.oracle.com/technetwork/topics/winx6
- 一、工厂模式(Factory Pattern)工厂模式(Factory Pattern),提供了一种实例化(创建)对象的最佳方式。在工厂模式