Python繪制計(jì)算機(jī)CPU占有率變化的折線圖
本篇文章將實(shí)現(xiàn)用Python獲取系統(tǒng)信息CPU占有率并將其變化繪制成折線圖。
第一步:獲取系統(tǒng)CPU占有率信息
psutil模塊是專門獲取系統(tǒng)信息的模塊,在該模塊里有一個(gè)cpu_percent()方法是用來獲取系統(tǒng)CPU占有率的。我們每隔1s獲取一次CPU占有率,并將獲取到的信息存儲在指定文件中,將其保存起來,本案例中我將文件命名為cpu.txt
則第一步獲取信息的代碼如下:
# 獲取系統(tǒng)信息的模塊
import psutil
import ?time
?
# m每隔一秒繪制CPU的占有率; ?如何持久化保存? 如何將時(shí)間和對應(yīng)的cpu占有率匹配;
while True:
? ? # 獲取當(dāng)前時(shí)間和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)運(yùn)行之后可以打開文件,可以看到相應(yīng)的時(shí)間下的存儲的CPU占有率:

第二步:將獲取到的信息繪制成折線圖
pyecharts模塊是用來繪制圖形的模塊,其中的Line是繪制折線圖的,如果想要繪制散點(diǎn)圖則導(dǎo)入Scatter。我們要繪制折線圖,所以導(dǎo)入的是Line。
先創(chuàng)建兩個(gè)空列表,一個(gè)用來存儲時(shí)間變化,一個(gè)用來存儲CPU占有率的變化,然后打開之前存好的信息,并遍歷文件的每一行內(nèi)容,將內(nèi)容添加到列表中,之后對列表中的內(nèi)容進(jìn)行繪圖就OK。
代碼如下:
mport random
from pyecharts import options as opts
from pyecharts.charts import Line
?
# 獲取折線圖需要繪制的數(shù)據(jù)信息;
x = []
y = []
with open('cpu.txt') as f: ?# 以讀的方式打開文件
? ? for line in f: ? ? ? ? ?# 依次遍歷文件的每一行內(nèi)容
? ? ? ? time, per = line.split() ? ?# 返回時(shí)間和對應(yīng)時(shí)間的cpu占有率
? ? ? ? x.append(time)
? ? ? ? y.append(per)
?
# 實(shí)例化Line類為line對象, 并添加x和y對應(yīng)的點(diǎn);
line = (
? ? Line()
? ? .add_xaxis(x)
? ? .add_yaxis("", y)
?
? ? .set_global_opts(title_opts=opts.TitleOpts(title="Cpu占有率散點(diǎn)圖"))
)
# 將折線圖信息保存到文件中;
line.render()運(yùn)行后可以得到一個(gè)render.html的文件,打開它之在右上角選擇要打開的瀏覽器,即可顯示出繪制好的圖形了,如下所示:

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Django自關(guān)聯(lián)實(shí)現(xiàn)多級聯(lián)動查詢實(shí)例
這篇文章主要介紹了Django自關(guān)聯(lián)實(shí)現(xiàn)多級聯(lián)動查詢實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
python實(shí)現(xiàn)根據(jù)主機(jī)名字獲得所有ip地址的方法
這篇文章主要介紹了python實(shí)現(xiàn)根據(jù)主機(jī)名字獲得所有ip地址的方法,涉及Python解析IP地址的相關(guān)技巧,需要的朋友可以參考下2015-06-06
python創(chuàng)建一個(gè)最簡單http webserver服務(wù)器的方法
這篇文章主要介紹了python創(chuàng)建一個(gè)最簡單http webserver服務(wù)器的方法,實(shí)例分析了Python操作http創(chuàng)建服務(wù)器端的相關(guān)技巧,需要的朋友可以參考下2015-05-05
python實(shí)現(xiàn)創(chuàng)建新列表和新字典,并使元素及鍵值對全部變成小寫
今天小編就為大家分享一篇python實(shí)現(xiàn)創(chuàng)建新列表和新字典,并使元素及鍵值對全部變成小寫,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01
python [::-1] [::-1,::-1]的具體使用
本文主要介紹了python [::-1] [::-1,::-1]的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
Python深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)基本原理
人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,簡寫為ANNs)也簡稱為神經(jīng)網(wǎng)絡(luò)(NNs)或稱作連接模型(Connection Model),它是一種模仿動物神經(jīng)網(wǎng)絡(luò)行為特征,進(jìn)行分布式并行信息處理的算法數(shù)學(xué)模型2021-10-10

