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

  • 相关阅读:
    【sql:练习题3】查询在 SC 表存在成绩的学生信息
    【sql:练习题2】查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩
    学习设计模式之动态代理
    学习设计模式之静态代理
    学习设计模式之装饰器模式
    学习设计模式之策略模式
    学习设计模式之简单工厂
    Ehcache3.x学习(二)分层的选项
    Ehcache3.x学习(一)入门
    java进行微信h5支付开发
  • 原文地址:https://www.cnblogs.com/NiceTime/p/10125213.html
Copyright © 2020-2023  润新知