2024-10-01 09:31:45 发布
网友
我想得到matplotlib图例的位置(轴数据或比例的x,y)。我试过以下方法:
l = ax.legend(...) l.get_window_extent() l.legendPatch.get_bbox().inverse_transformed(ax.transAxes)
我的目标是使用图例的位置添加一个文本框,旁边有附加信息。在
在这行代码上
leg = ax.legend(['line 1'], loc=6, frameon=False)
使loc=0这将使您的绘图保持在与绘图图不重叠或重叠最少的最佳位置。在
loc=0
获取图例位置的方法取决于图例以及何时访问它。在
似乎最好是在绘制绘图后,即调用:
plt.draw()
在之后访问legend object position,这将返回图形像素,您可以稍后使用。在
至少有两种方法可以访问图例位置:
.get_window_extent()
.get_frame().get_bbox().bounds
显然,如果图例没有框架,则首选第1种方法:-)
你可以玩这两个,看看如何最好地处理每一个。在
下面是一个如何做到这一点的示例:
这就产生了:
在这行代码上
使
loc=0
这将使您的绘图保持在与绘图图不重叠或重叠最少的最佳位置。在获取图例位置的方法取决于图例以及何时访问它。在
似乎最好是在绘制绘图后,即调用:
在之后访问legend object position,这将返回图形像素,您可以稍后使用。在
至少有两种方法可以访问图例位置:
.get_window_extent()
方法.get_frame().get_bbox().bounds
方法显然,如果图例没有框架,则首选第1种方法:-)
你可以玩这两个,看看如何最好地处理每一个。在
下面是一个如何做到这一点的示例:
^{pr2}$这就产生了:
相关问题 更多 >
编程相关推荐