zoukankan      html  css  js  c++  java
  • Python ---chart

    # -*- coding:utf-8 -*-
    import random
    import matplotlib.pyplot as plt
    from pylab import * 
    import os                
    
    import pandas as pd
    import numpy as np
    import xlsxwriter
    t_indx= pd.date_range('11/9/2018 00:00:00',periods=100,freq='s',normalize=True) 
    t= []
    for i in t_indx:
        t.append(str(i))
        
    
    len_num = len(t_indx)
    print"len: ", len_num
    
    cpu=[]
    mem=[]
    random1 = np.random.RandomState(100)
    random2 = np.random.RandomState(50)
    for j in range(100):
        cpu.append(round(random1.uniform(0, 400.0),2))
        mem.append(round(random2.uniform(0, 100.0),2))
    
    
    #for k in cpu:
    #    print "CPU: ", k
    #    
    #for l in mem:
    #    print "MEM: ", l
    
     
    if os.path.isfile("data.txt"):
        os.remove("data.txt") 
    else:
        #write to file
        f = open('data.txt','a')
        for m in range(100):
            f.write(t[m][11:])
            f.write(' ')
            f.write(str(cpu[m]))
            f.write(' ')
            f.write(str(mem[m]))
            f.write('
    ')
        f.close()
    
    data1=[]
    data2=[]
    data3=[]    
    
    
    with open('data.txt', 'r') as file_to_read:
        while True:
            lines = file_to_read.readline()
            if not lines:
                break
                pass
            data1.append(lines.split(' ',2)[0])
            data2.append(float(lines.split(' ',2)[1]))
            data3.append(float(lines.split(' ',2)[2]))
    
    
    #for k in data1:
    #    print k
    #for k in data2:
    #    print k
    for k in data3:
        print k
    
    
    
    data=[data1,data2,data3]
    
    mpl.rcParams['font.sans-serif'] = ['SimHei']
    times=data1
    x = range(len(times))
    y = data2
    y1 = data3
    plt.plot(x, y, marker='o', mec='r', mfc='w',label=u'CPU曲线图')
    plt.plot(x, y1, marker='*', ms=10,label=u'memory曲线图')
    plt.legend()  # 让图例生效
    plt.xticks(x, times, rotation=45)
    plt.margins(0)
    plt.subplots_adjust(bottom=0.15)
    plt.xlabel(u"time(s)") #X轴标签
    plt.ylabel("%") #Y轴标签
    plt.title("perfomance") #标题
    
    plt.show()

    生成的图:

  • 相关阅读:
    linux tar order
    Linux驱动学习步骤(转载)
    汇编指令(转载)
    拓扑排序
    python 三维坐标图
    python 矩阵
    spring 之 IOC 依赖注入详解
    spring 下载
    Struts数据验证
    拦截器配置
  • 原文地址:https://www.cnblogs.com/saryli/p/9937386.html
Copyright © 2011-2022 走看看