zoukankan      html  css  js  c++  java
  • python3绘图示例2(基于matplotlib:柱状图、分布图、三角图等)

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-

    from matplotlib import pyplot as plt
    import numpy as np
    import pylab

    import os,sys,time,math,random

    # 图1-给已有的图加上刻度
    file=r'D:jmeterjmeter3.2dataOracle数据库基础.png'
    arr=np.array(file.getdata()).reshape(file.size[1],file.size[0],3)

    plt.gray()
    plt.imshow(arr)

    plt.colorbar()
    plt.show()

    # 图2-随机柱状图
    SAMPLE_SIZE=100
    random.seed()
    real_rand_vars=[]

    real_rand_vars=[random.random() for val in range(SAMPLE_SIZE)]
    pylab.hist(real_rand_vars,10)

    pylab.xlabel("number range")
    pylab.ylabel("count")
    pylab.show()


    # 图3-正太分布图
    duration=100

    # 中值
    mean_inc=0.6

    # 标准差
    std_dev_inc=1.2

    x=range(duration)
    y=[]
    price_today=0

    for i in x:
    next_delta=random.normalvariate(mean_inc,std_dev_inc)
    price_today+=next_delta
    y.append(price_today)

    pylab.plot(x,y)
    pylab.title('test')
    pylab.xlabel('time')
    pylab.ylabel('value')
    pylab.show()


    # 图4
    SAMPLE_SIZE=1000
    buckes=100

    plt.figure()
    plt.rcParams.update({'font.size':7})

    # 子图1-随机分布 0~1
    plt.subplot(621)
    plt.xlabel('random1')

    res=[random.random() for _ in range(1,SAMPLE_SIZE)]
    plt.hist(res,buckes)


    # 子图2-均匀分布
    plt.subplot(622)
    plt.xlabel('random2')

    a=1
    b=SAMPLE_SIZE
    res=[random.uniform(a,b) for _ in range(1,SAMPLE_SIZE)]
    plt.hist(res,buckes)


    # 子图3-三角形分布
    plt.subplot(623)
    plt.xlabel('random3')

    low=1
    high=SAMPLE_SIZE
    res=[random.triangular(a,b) for _ in range(1,SAMPLE_SIZE)]
    plt.hist(res,buckes)


    # 子图4-beta分布图
    plt.subplot(624)
    plt.xlabel('random4')

    alpha=1
    beta=10
    res = [random.betavariate(alpha,beta) for _ in range(1,SAMPLE_SIZE)]
    plt.hist(res,buckes)


    # 子图5-指数分布图
    plt.subplot(625)
    plt.xlabel('random5')
    lambd=1.0/((SAMPLE_SIZE+1)/2)

    res=[random.expovariate(lambd) for _ in range(1,SAMPLE_SIZE)]
    plt.hist(res,buckes)


    # 子图6-gamma分布图
    plt.subplot(626)
    plt.xlabel('random6')

    alpha=1
    beta=10
    res = [random.gammavariate(alpha,beta) for _ in range(1,SAMPLE_SIZE)]
    plt.hist(res,buckes)


    # 子图7-对数正太分布图
    plt.subplot(627)
    plt.xlabel('random7')

    # 中值
    mu=1

    # 标准差
    sigma=0.5

    res = [random.lognormvariate(mu,sigma) for _ in range(1,SAMPLE_SIZE)]
    plt.hist(res,buckes)


    # 子图8-正太分布图
    plt.subplot(628)
    plt.xlabel('random8')

    # 中值
    mu=1

    # 标准差
    sigma=0.5

    res = [random.normalvariate(mu,sigma) for _ in range(1,SAMPLE_SIZE)]
    plt.hist(res,buckes)


    # 子图9-帕累托分布图
    plt.subplot(629)
    plt.xlabel('random9')

    # 形状参数
    alpha=1

    res = [random.paretovariate(alpha) for _ in range(1,SAMPLE_SIZE)]
    plt.hist(res,buckes)


    plt.tight_layout()
    plt.show()

  • 相关阅读:
    Lucene.Net 2.3.1开发介绍 —— 二、分词(一)
    控制‘控制台应用程序’的关闭操作
    详解for循环(各种用法)
    敏捷软件开发
    Sql Server的一些知识点
    在SharePoint 2010 中配置Remote Blob Storage FILESTREAM Provider
    使用LotusScript操作Lotus Notes RTF域
    JOpt Simple 4.5 发布,命令行解析器
    John the Ripper 1.8.0 发布,密码破解工具
    PacketFence ZEN 4.0.1 发布,网络接入控制
  • 原文地址:https://www.cnblogs.com/NiceTime/p/10125213.html
Copyright © 2011-2022 走看看