CUP监测1分钟(60s)的python的matplotlib动态作图
import matplotlib.pyplot as plt
import psutil
import time # 第1步,导出通用字体设置
from matplotlib import font_manager
#第2步,定义字体,引出字体模块和位置
my_font = font_manager.FontProperties(fname="/usr/share/fonts/truetype/noto/simsun.ttf") plt.ion() #定义全局变量
cpu=[]
times=[]
mem=[] #注意是mem=memory=内存
io=[] #定义函数
def get_info():
cpu_per=psutil.cpu_percent()
mem=psutil.virtual_memory()
mem_used=mem.used
mem_total=mem.total
mem_used_per=(mem_used/mem_total*100)
io=psutil.disk_io_counters()
io_cnt=io.read_count+io.write_count return cpu_per,mem_used_per,io_cnt c=0 #设置一个变量
while c<61: #观测一定的数量,停止,可以自定义,原为while True就是死循环
t=time.strftime("%H:%M:%S",time.localtime())
cpu_per,mem_used_per,io_cnt=get_info()
times.append(t)
cpu.append(cpu_per)
mem.append(mem_used_per)
io.append(io_cnt) #第1张图:ax1
ax1=plt.subplot(221) #ax1这个图标的位置:分2行2列,第1行第1个
ax1.patch.set_facecolor('black')#设置ax区域背景颜色
ax1.figure.set_facecolor('pink') #这里设置后,整个图,或之后弹出的图片的,背景颜色都是pink plt.plot(times,cpu,label='CPU',color='b')
#第3步:中文显示:加u和fontproperties=my_font
plt.ylabel(u'CPU 使用率 %',fontsize=8,fontproperties=my_font,color='red')
plt.xticks(rotation=30,fontsize=4)
plt.yticks(range(0,110,10)) #第2张图:
ax2=plt.subplot(222) #分2行2列,第1行第2个
ax2.patch.set_facecolor('black') plt.plot(times,mem,label='MEM',color='g')
plt.ylabel(u'MEM 使用率 %',fontsize=8,fontproperties=my_font,color='red')
plt.xticks(rotation=30,fontsize=4)
plt.yticks(range(0,110,10)) #第3张图:
ax3=plt.subplot(212) #分2行1列,第2个=第2行的一列
ax3.patch.set_facecolor('black') plt.plot(times,io,label='IO',color='y')
plt.ylabel(u'IO 处理数 %',fontsize=8,fontproperties=my_font,color='red')
plt.xticks(rotation=30,fontsize=4) plt.pause(1) c+=1 #每次+1 plt.ioff()
plt.show()
CUP监测1分钟(60s)的python的matplotlib动态作图的更多相关文章
- 3分钟学完Python,直接从入门到精通
作为帅气小编,我已经把python一些模块的甩在这儿了qwq,只要你拿到这些干货,包你玩转python,直接冲向"大佬"的段位,如果已经学了C或者C++或者说如果你需要你的一段关键 ...
- 在 Y 分钟内学会 Python
在 Y 分钟内学会 Python 这是翻译, 原文地址: Learn Python in Y Minutes 在 90 年代初, Python 由 Guido van Rossum 创造, 现在, 它 ...
- python之matplotlib绘图基础
Python之matplotlib基础 matplotlib是Python优秀的数据可视化第三方库 matplotlib库的效果可参考 http://matplotlib.org/gallery.ht ...
- 基于Python实现matplotlib中动态更新图片(交互式绘图)
最近在研究动态障碍物避障算法,在Python语言进行算法仿真时需要实时显示障碍物和运动物的当前位置和轨迹,利用Anaconda的Python打包集合,在Spyder中使用Python3.5语言和mat ...
- python在sqlite动态创建表源码
代码之余,将开发过程中经常用的代码片段备份一下,如下的代码是关于python在sqlite动态创建表的代码,应该能对各位有所用. import sqlite3 as db conn = db.conn ...
- python 利用matplotlib中imshow()函数绘图
matplotlib 是python最著名的2D绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中.通过简单的绘图语 ...
- python使用matplotlib绘制折线图教程
Matplotlib是一个Python工具箱,用于科学计算的数据可视化.借助它,Python可以绘制如Matlab和Octave多种多样的数据图形.下面这篇文章主要介绍了python使用matplot ...
- python基础实践 -python是一门动态解释性的强类型定义语言
python是一门动态解释性的强类型定义语言 Python能做什么? Python是一门综合性的语言,你几乎能在计算机上通过Python做任何事情,以下是Python应该最广泛的几个方面: 1.网络应 ...
- python调用.net动态库
# python调用.net动态库 ### pythonnet简介------------------------------ pythonnet是cpython的扩展- pythonnet提供了cp ...
随机推荐
- docker-machine之升级linux内核
虚拟机版本及内核信息 uname -a 或者 uname -r 开始升级内核 1.更新yum源 yum -y update 2,获取内核信息 rpm --import https://www.elre ...
- [Codechef CHSTR] Chef and String - 后缀数组
[Codechef CHSTR] Chef and String Description 每次询问 \(S\) 的子串中,选出 \(k\) 个相同子串的方案有多少种. Solution 本题要求不是很 ...
- Oracle VM VirtualBox - 启用 VT-x/AMD-V 支持
问题描述Oracle VM VirtualBox引入OVF模板时,报错:VT-x/AMD-V 硬件加速已被启用, 但当前处于无效状态. 您虚拟电脑内的操作系统将无法检测到64位的处理器,因此也将无法启 ...
- Spring MVC 中使用properties文件
首先要搭建Spring mvc的环境,然后开始properties文件里的配置: 第一步:在springcontext中注入properties,具体路径自己调整 <bean id=" ...
- 第三十六篇 入门机器学习——Jupyter Notebook中的魔法命令
No.1.魔法命令的基本形式是:%命令 No.2.运行脚本文件的命令:%run %run 脚本文件的地址 %run C:\Users\Jie\Desktop\hello.py # 脚本一旦 ...
- 16day 引号符号系列
'' 输出的信息,所见即所得 [root@oldboyedu oldboy]# echo 'oldboy $LANG $oldgirl' oldboy $LANG $oldgirl "&qu ...
- python 操作 word 图片 消失
问题描述修改word中文本,如下代码,保存时会导致word中的部分图片消失 from docx import Document path1 = 'test_in.docx' path2 = 'test ...
- 使用命令行生成动态库dll
1.安装开发工具,比如visual studio或者mingw等等.下面以visual studio编译器cl作为讲解. 2.导出dll中的函数基本使用两种方式,可以使用关键字__declspec(d ...
- 转:unittest的几种运行方式
#unittest-test.py import unittestfrom demo import RunMainimport HtmlTestRunner class TestMethod(unit ...
- 劳动人民万岁(拒绝惰性)------- 浅谈迭代对象(Iterable) 迭代器(Iterator)
一.前戏 问题:如果一次抓取所有城市天气 再显示,显示第一个城市气温时有很高的延时,并且很浪费储存空间 解决方案:以“用时访问”策略,并且能把说有城市气温封装到一个对象里,可用for一句进行迭代 二. ...