擅长:python、mysql、java
<p>原则上,传奇并不意味着要更新,而是要重新创造。在</p>
<p>下面的代码可以满足您的需求,但是要注意这是一种使用内部方法的黑客攻击,因此不能保证能够正常工作,并且可能会在将来的版本中崩溃。所以不要在生产代码中使用它。此外,如果您为图例设置了与默认字体(大小)不同的标题,则在更新时它将丢失。另外,如果您通过<code>markerfirst</code>操作了句柄和标签的顺序,那么在更新时这将丢失。在</p>
<pre><code>from matplotlib import pyplot as plt
fig, ax = plt.subplots()
ax.plot([0,1,2,3,4,5,6], label='linear')
ax.plot([0,1,4,9,16,25,36], label='square')
lgd = ax.legend(loc='lower right')
def add_patch(legend):
from matplotlib.patches import Patch
ax = legend.axes
handles, labels = ax.get_legend_handles_labels()
handles.append(Patch(facecolor='orange', edgecolor='r'))
labels.append("Color Patch")
legend._legend_box = None
legend._init_legend_box(handles, labels)
legend._set_loc(legend._loc)
legend.set_title(legend.get_title().get_text())
add_patch(lgd)
plt.show()
</code></pre>
<p><a href="https://i.stack.imgur.com/87SKR.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/87SKR.png" alt="enter image description here"/></a></p>