#!/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:\jmeter\jmeter3.2\data\Oracle数据库基础.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()