python用matplotlib画图例子(3)

背景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 = 500

x = 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 np
import matplotlib.pyplot as plt
import math

fig = 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')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值