我试图绘制nd.array的百分位数,我想考虑肘点以上的所有点。所以如果我的肘关节点在83%,我想得到第83百分位点的y坐标(这就是问题所在),所以把它设为一个阈值,得到所有高于这个值的点
我试过了。注释,但是卡住了。请帮忙
from matplotlib import mlab
p = np.array([0,10,20,30,40,50,60,70,80,83,84,85,90])
pchange=np.array([1,2,3,6,5,8,9,7,4,5,6,9,8,5,2,3,6,4,25,36,14,65,98,98,54,25,26,23,24,27,28,26,24,262,1,156,31,51,351,651,35,153,135,1,5,31,68,3,5,61,354,685,16,813,51,685,681,35,68,135,1685,1354,135,415,135,153,413,513,56,513,213,651,354,51,35,135,135,135,438,535,468,53,8,35,4,648,468,535,468,46,8,498,498,749,8798,798,79,8798,7,979,879,8,97,9,79,7,9798,798,78,979,87,974,65,498,46,8,98,79,878,978,65,984,98,49,9,569,949,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888,888])
perc = mlab.prctile(pchange, p)
print(perc)
plt.plot(perc)
plt.plot((len(perc)-1) * p/100., perc, 'ro')
plt.xticks((len(perc)-1) * p/100., map(str, p))
for a,b in enumerate(pchange):
plt.annotate(b,(perc[a],p[a]),xytext=(perc[a],p[a]))
plt.show()
根据目前的情况,我不能完全确定你在找什么。你的x轴不是直观的。当我测试你的代码时,我只得到一个注释错误,因为你应该循环使用百分比而不是总数据。请参阅下面的代码和annotate example以获取更多帮助。如果这不是你想要的,那么请澄清你的问题,我会更新我的答案
这将导致下图
相关问题 更多 >
编程相关推荐