python用matplotlib画图例子(3)

来源:互联网 发布:淘宝投诉投诉 编辑:程序博客网 时间:2024/06/08 02:52

背景1

每50毫秒产生一个标准正态随机数与之前的数进行累加。

代码1

import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation fig = plt.figure() ax = fig.add_subplot(111)#初始漫步数N = 30#最大漫步数MaxN = 500x = np.random.randn(N).cumsum()pdata, = ax.plot(x,'r') #固定x轴,y轴的范围ax.set_xlim(0,MaxN)ax.set_ylim(-50,50)ax.set_title('$Random\ walk$')#定义更新规则#data是生成器的返回值def update(data):     x = pdata.get_xdata()    y = pdata.get_ydata()    x = np.hstack((x,len(x)))    y = np.hstack((y,y[-1]+data))    pdata.set_xdata(x)    pdata.set_ydata(y)    return pdata#生成器 def generated():    n = 1    while n<MaxN-N:        yield np.random.randn()anim = animation.FuncAnimation(fig, update, generated, interval=50)  plt.show() 

结果1

这里写图片描述

背景2

画一个图示的图形块patch。

结果2

这里写图片描述

代码2

import numpy as npimport matplotlib.pyplot as pltimport mathfig = plt.figure(figsize=(8,8))ax = fig.add_subplot(1,1,1)#多边形:各点pgo = plt.Polygon([[0.,0.4],[0.4,0.],[.8,0.4],[0.4,0.8]],color='#00F5FF',alpha=0.2)#圆形cc = plt.Circle((.4,.4),math.sqrt(0.08),color='#D02090',alpha=1)#矩形:顶点,宽高re1 = plt.Rectangle((.2,.2),.2,.2,color = 'r')re2 = plt.Rectangle((.6,.2),-0.2,.2,color = 'y')re3 = plt.Rectangle((.2,.6),0.2,-.2,color = 'g')re4 = plt.Rectangle((.6,.6),-0.2,-.2,color = 'b')#圆形:圆心,半径c1 = plt.Circle((.3,.4),.05,color='g',alpha=1)c2 = plt.Circle((.4,.3),.05,color='r',alpha=1)c3 = plt.Circle((.5,.4),.05,color='y',alpha=1)c4 = plt.Circle((.4,.5),.05,color='b',alpha=1)ax.add_patch(cc)ax.add_patch(pgo)ax.add_patch(re1)ax.add_patch(re2)ax.add_patch(re3)ax.add_patch(re4)ax.add_patch(c1)ax.add_patch(c2)ax.add_patch(c3)ax.add_patch(c4)#不显示坐标轴plt.axis("off")#显示图像plt.show()#保存图片#dpi 图像分辨率#bbox_inches 图片需要保存的部分,'tight'将尝试剪除空白部分fig.savefig(r"C:\Users\tinysoft\Desktop\gg3.png",dpi = 400)#,bbox_inches='tight')
原创粉丝点击