当我认为我不应该这样做时,我不得不重新排序图例中的项目。我尝试:
from pylab import *
clf()
ax=gca()
ht=ax.add_patch(Rectangle((1,1),1,1,color='r',label='Top',alpha=.1))
h1=ax.bar(1,2,label='Middle')
hb=ax.add_patch(Rectangle((1,1),1,1,color='k',label='Bottom',alpha=.11))
legend()
show()
并最终得到底部高于中间的结果。我怎样才能得到正确的订单?不是由创建顺序决定的吗?
更新:以下可用于强制执行命令。我认为这可能是最简单的方法,但看起来很尴尬。问题是什么决定了原始顺序?
hh=[ht,h1,hb]
legend([ht,h1.patches[0],hb],[H.get_label() for H in hh])