Python繪制計算機CPU占有率變化的折線圖
本篇文章將實現(xiàn)用Python獲取系統(tǒng)信息CPU占有率并將其變化繪制成折線圖。
第一步:獲取系統(tǒng)CPU占有率信息
psutil模塊是專門獲取系統(tǒng)信息的模塊,在該模塊里有一個cpu_percent()方法是用來獲取系統(tǒng)CPU占有率的。我們每隔1s獲取一次CPU占有率,并將獲取到的信息存儲在指定文件中,將其保存起來,本案例中我將文件命名為cpu.txt
則第一步獲取信息的代碼如下:
# 獲取系統(tǒng)信息的模塊 import psutil import ?time ? # m每隔一秒繪制CPU的占有率; ?如何持久化保存? 如何將時間和對應(yīng)的cpu占有率匹配; while True: ? ? # 獲取當(dāng)前時間和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īng)的時間下的存儲的CPU占有率:
第二步:將獲取到的信息繪制成折線圖
pyecharts模塊是用來繪制圖形的模塊,其中的Line是繪制折線圖的,如果想要繪制散點圖則導(dǎo)入Scatter。我們要繪制折線圖,所以導(dǎo)入的是Line。
先創(chuàng)建兩個空列表,一個用來存儲時間變化,一個用來存儲CPU占有率的變化,然后打開之前存好的信息,并遍歷文件的每一行內(nèi)容,將內(nèi)容添加到列表中,之后對列表中的內(nèi)容進行繪圖就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() ? ?# 返回時間和對應(yīng)時間的cpu占有率 ? ? ? ? x.append(time) ? ? ? ? y.append(per) ? # 實例化Line類為line對象, 并添加x和y對應(yīng)的點; line = ( ? ? Line() ? ? .add_xaxis(x) ? ? .add_yaxis("", y) ? ? ? .set_global_opts(title_opts=opts.TitleOpts(title="Cpu占有率散點圖")) ) # 將折線圖信息保存到文件中; line.render()
運行后可以得到一個render.html的文件,打開它之在右上角選擇要打開的瀏覽器,即可顯示出繪制好的圖形了,如下所示:
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Django自關(guān)聯(lián)實現(xiàn)多級聯(lián)動查詢實例
這篇文章主要介紹了Django自關(guān)聯(lián)實現(xiàn)多級聯(lián)動查詢實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05python實現(xiàn)根據(jù)主機名字獲得所有ip地址的方法
這篇文章主要介紹了python實現(xiàn)根據(jù)主機名字獲得所有ip地址的方法,涉及Python解析IP地址的相關(guān)技巧,需要的朋友可以參考下2015-06-06python創(chuàng)建一個最簡單http webserver服務(wù)器的方法
這篇文章主要介紹了python創(chuàng)建一個最簡單http webserver服務(wù)器的方法,實例分析了Python操作http創(chuàng)建服務(wù)器端的相關(guān)技巧,需要的朋友可以參考下2015-05-05python實現(xiàn)創(chuàng)建新列表和新字典,并使元素及鍵值對全部變成小寫
今天小編就為大家分享一篇python實現(xiàn)創(chuàng)建新列表和新字典,并使元素及鍵值對全部變成小寫,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01python [::-1] [::-1,::-1]的具體使用
本文主要介紹了python [::-1] [::-1,::-1]的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05Python深度學(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ò)行為特征,進行分布式并行信息處理的算法數(shù)學(xué)模型2021-10-10