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()