获取图例的位置的方式取决于图例以及何时访问它。
绘制图形后,即调用后,最好访问图例对象:
plt.draw()
此后 访问图例对象位置将返回图形像素,您以后可以使用。
至少有两种方法可以访问图例位置:
- 通用
.get_window_extent()
方法 - 如果图例具有通过
.get_frame().get_bbox().bounds
方法的框架
显然,如果图例没有框架,则首选第一种方法:-)
您可以同时使用这两者,以了解如何最好地应对每一个。
这是一个如何做到的例子:
import matplotlib.pyplot as pltx = y = [1,2,3,4,5]fig, ax = plt.subplots()ax.plot(x,y)leg = ax.legend(['line 1'], loc=6, frameon=False)plt.draw()p = leg.get_window_extent()ax.annotate('Annotation Text', (p.p0[0], p.p1[1]), (p.p0[0], p.p1[1]), xycoords='figure pixels', zorder=9)plt.show()这样产生:



