python画弗里德曼(Friedman) 检验和秩和检验(Nemenyi)检验图

画好后效果图

在这里插入图片描述

实现代码如下

import matplotlib.pyplot as plt

#算法平均排名
_alg_=[1.405,2.643,2.786,2.167]

y=[1,2,3,4]#alg1,alg2,alg3,alg4

通过Nemenyi测试计算得到的临界值CD
CD=1.024
h_CD=CD/2
plt.figure(figsize=(10,6))
plt.scatter(_alg_,y,s=100,c='black')
for i in range(len(y)):
    yy=[y[i],y[i]]
    xx=[_alg_[i]-h_CD,_alg_[i]+h_CD]
    plt.plot(xx, yy,linewidth=3.0)


plt.yticks(range(0,6,1),labels=['','alg1','alg2','alg3','alg3(ours)',''],size=20)
plt.xticks(range(0,5,1),labels=['0','1','2','3','4'],size=20)


plt.xlabel("Rank",size=20)

plt.title("title",size=20)

plt.savefig("title"+'.png',format='PNG',dpi=500,bbox_inches='tight', pad_inches = +0.1)

plt.show()
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐