我不必重新定义图例中的项目。我尝试:
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])
顺序是确定性的,但是部分私人勇气可以随时更改,请参见此处的代码(这些self.*
元素是已添加的艺术家的列表,因此句柄列表首先按类型排序,然后按顺序排序)添加)。
如果要显式控制图例中元素的顺序,请像在编辑中一样组装处理程序和标签的列表。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句