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 ...
随机推荐
- mongodb多字段去重
单字段去重 db.student.distinct("name"); 多字段去重 db.student.aggregate([{ $group:{ ...
- [CF484D] Kindergarten - 贪心
有一组数,你要把他分成若干连续段.每一段的值,定义为这一段 数中最大值与最小值的差. 求一种分法,使得这若干段的值的和最大. N < 1e6, a[i] < 1e9. 朴素的\(O(n^2 ...
- HTML5使用JavaScript控制<audio>音频的播放
1.播放音乐最简单的样例 <audio controls> <source src="horse.mp3" type="audio/mpeg" ...
- dp--B - Hard problem
B - Hard problem Vasiliy is fond of solving different tasks. Today he found one he wasn't able to so ...
- tp5.1 Auth类实现权限管理
了解来这么久权限控制权限的知识,却不知道如何写代码,网上的代码多数并没有多少完整的源码能提供参考.偶然看到官网的例子,现在终于也把源码的实现也弄得明白了一点. tp5框架的Auth类可以实现页面的访问 ...
- spring(六):事务
事务特性ACID 原子性(Atomicity):即事务是不可分割的最小工作单元,事务内的操作要么全做,要么全不做: 一致性(Consistency):在事务执行前数据库的数据处于正确的状态,而事务执行 ...
- Web服务与应用
一.Apache 1.1 简介 Apache是一个高稳定,商业级别开源的Web服务器 1.2 下载镜像 DockerHub官方提供Apache镜像不带PHP环境,也就是不是动态网页页面,只能生成静态的 ...
- Apache Kafka(一)- Kakfa 简介与术语
Apache Kafka 1. Kafka简介.优势.以及使用场景 Kafka的优势: 开源 分布式,弹性架构,fault tolerant 水平扩展: 可以扩展到100个brokers 可以扩展到每 ...
- 【转】Java8 Stream 流详解
当我第一次阅读 Java8 中的 Stream API 时,说实话,我非常困惑,因为它的名字听起来与 Java I0 框架中的 InputStream 和 OutputStream 非常类似.但是 ...
- linux 系统如何复制文件到指定目录
首先使用命令函数“cp” 即copy的缩写, 一般模式: cp filename 路径. 如file1在A目录下,我们想把file1复制到B目录下 命令为 cp file1 /home/B ...