使用python 的matplotlib 画轨道实例
如下所示:
importnumpyasnp
importmatplotlib.pyplotasplt
importmatplotlib.patchesasmpatches
fromscipyimportstats
fig=plt.figure()
ax=fig.add_subplot(111,xlim=(0,10),ylim=(-4,4))
sx=0;sy=0;r=1.5;
circle=mpatches.Circle((sx,sy),r,ec='b',fc='b',alpha=0.6)
ax.add_patch(circle)
n=5
alpha=np.linspace(-np.pi/2,np.pi/2,100)
foriinrange(1,n+1):
a=(i+1)*2
b=(i+1)
plt.plot(a*np.cos(alpha),b*np.sin(alpha))
ifi<=3:
ax.text(a+1,0,'layer.%d'%(i-1),ha='center',va='center')
rate=3
Jnum=100
foriinrange(Jnum):
data=stats.poisson.rvs(mu=rate,loc=0,size=1)
whiledata==0:
data=stats.poisson.rvs(mu=rate,loc=0,size=1)
data=data[0]
r=np.random.random()
beta=(np.random.random()-0.5)*np.pi
printbeta
data+=r
a=(data+1)*2*np.cos(beta)
b=(data+1)*np.sin(beta)
ax.scatter(a,b,c='y',edgecolors='y')
xx=[3.5,6.8,6.8]
yy=[-1.8,0.9,3.1]
pp=[1.00,0.85,0.75]
rota=[-45,0,0]
foriinrange(3):
plt.plot((1.5,xx[i]),(0,yy[i]),'r')
ax.scatter(xx[i],yy[i],c='y',edgecolors='b')
ax.text(xx[i],yy[i],'probability%lf'%pp[i],ha='center')
tx=np.linspace(0,10,10)
ty=np.linspace(-4,-4,10)
ax.set_xticks(tx)
ax.set_xticklabels((''))
ax.set_yticks(ty)
ax.set_yticklabels((''))
#plt.axis('off')
plt.show()
以上这篇使用python的matplotlib画轨道实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。