微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何通过matplotlib和scipy显示pmf的峰值?

如何解决如何通过matplotlib和scipy显示pmf的峰值?

这是代码(我想知道图片的峰值,但是我不知道如何添加此类代码

import matplotlib.pyplot as plt
import  matplotlib as mpl
import numpy as np
from scipy import stats
n=25
p=0.6    
k=np.arange(0,50)    
#the pmf forming    
picture=stats.binom.pmf(k,n,p)    
print(picture)    
mpl.rcParams['font.sans-serif'] = [u'SimHei']  
mpl.rcParams['axes.unicode_minus'] = False    
mean,var,skew,kurt=stats.binom.stats(n,p,moments='mvsk')   
print(mean,kurt)    
#the picture forming    
plt.plot(k,picture,'o-')    
plt.grid(True)    
plt.show()

解决方法

您可以使用scatter

import matplotlib.pyplot as plt
import  matplotlib as mpl
import numpy as np
from scipy import stats
n=25
p=0.6    
k=np.arange(0,50)    
#the pmf forming    
picture=stats.binom.pmf(k,n,p)    

mpl.rcParams['font.sans-serif'] = [u'SimHei']  
mpl.rcParams['axes.unicode_minus'] = False    
mean,var,skew,kurt=stats.binom.stats(n,p,moments='mvsk')   
print(mean,kurt)    
#the picture forming    

plt.plot(k,picture,'o-')    
plt.grid(True)    

# the two new lines 
max_ind = np.argmax(picture)
plt.scatter(x=k[max_ind],y=picture[max_ind],c='r',s=100,zorder=10)

这会产生

plot

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。