@@ -94,51 +94,7 @@ def _update_bbox_to_anchor(self, loc_in_canvas):
9494 self .legend .set_bbox_to_anchor (loc_in_bbox )
9595
9696
97- _docstring .interpd .update (_legend_kw_doc = """
98- loc : str or pair of floats, default: :rc:`legend.loc` ('best' for axes, \
99- 'upper right' for figures)
100- The location of the legend.
101-
102- The strings
103- ``'upper left', 'upper right', 'lower left', 'lower right'``
104- place the legend at the corresponding corner of the axes/figure.
105-
106- The strings
107- ``'upper center', 'lower center', 'center left', 'center right'``
108- place the legend at the center of the corresponding edge of the
109- axes/figure.
110-
111- The string ``'center'`` places the legend at the center of the axes/figure.
112-
113- The string ``'best'`` places the legend at the location, among the nine
114- locations defined so far, with the minimum overlap with other drawn
115- artists. This option can be quite slow for plots with large amounts of
116- data; your plotting speed may benefit from providing a specific location.
117-
118- The location can also be a 2-tuple giving the coordinates of the lower-left
119- corner of the legend in axes coordinates (in which case *bbox_to_anchor*
120- will be ignored).
121-
122- For back-compatibility, ``'center right'`` (but no other location) can also
123- be spelled ``'right'``, and each "string" locations can also be given as a
124- numeric value:
125-
126- =============== =============
127- Location String Location Code
128- =============== =============
129- 'best' 0
130- 'upper right' 1
131- 'upper left' 2
132- 'lower left' 3
133- 'lower right' 4
134- 'right' 5
135- 'center left' 6
136- 'center right' 7
137- 'lower center' 8
138- 'upper center' 9
139- 'center' 10
140- =============== =============
141-
97+ _legend_kw_doc_base = """
14298bbox_to_anchor : `.BboxBase`, 2-tuple, or 4-tuple of floats
14399 Box that is used to position the legend in conjunction with *loc*.
144100 Defaults to `axes.bbox` (if called as a method to `.Axes.legend`) or
@@ -289,7 +245,79 @@ def _update_bbox_to_anchor(self, loc_in_canvas):
289245
290246draggable : bool, default: False
291247 Whether the legend can be dragged with the mouse.
292- """ )
248+ """
249+
250+ _loc_doc_base = """
251+ loc : str or pair of floats, {0}
252+ The location of the legend.
253+
254+ The strings
255+ ``'upper left', 'upper right', 'lower left', 'lower right'``
256+ place the legend at the corresponding corner of the axes/figure.
257+
258+ The strings
259+ ``'upper center', 'lower center', 'center left', 'center right'``
260+ place the legend at the center of the corresponding edge of the
261+ axes/figure.
262+
263+ The string ``'center'`` places the legend at the center of the axes/figure.
264+
265+ The string ``'best'`` places the legend at the location, among the nine
266+ locations defined so far, with the minimum overlap with other drawn
267+ artists. This option can be quite slow for plots with large amounts of
268+ data; your plotting speed may benefit from providing a specific location.
269+
270+ The location can also be a 2-tuple giving the coordinates of the lower-left
271+ corner of the legend in axes coordinates (in which case *bbox_to_anchor*
272+ will be ignored).
273+
274+ For back-compatibility, ``'center right'`` (but no other location) can also
275+ be spelled ``'right'``, and each "string" locations can also be given as a
276+ numeric value:
277+
278+ =============== =============
279+ Location String Location Code
280+ =============== =============
281+ 'best' 0
282+ 'upper right' 1
283+ 'upper left' 2
284+ 'lower left' 3
285+ 'lower right' 4
286+ 'right' 5
287+ 'center left' 6
288+ 'center right' 7
289+ 'lower center' 8
290+ 'upper center' 9
291+ 'center' 10
292+ =============== =============
293+ {1}"""
294+
295+ _legend_kw_axes_st = (_loc_doc_base .format ("default: :rc:`legend.loc`" , '' ) +
296+ _legend_kw_doc_base )
297+ _docstring .interpd .update (_legend_kw_axes = _legend_kw_axes_st )
298+
299+ _outside_doc = """
300+ If a figure is using the constrained layout manager, the string codes
301+ of the *loc* keyword argument can get better layout behaviour using the
302+ prefix 'outside'. There is ambiguity at the corners, so 'outside
303+ upper right' will make space for the legend above the rest of the
304+ axes in the layout, and 'outside right upper' will make space on the
305+ right side of the layout. In addition to the values of *loc*
306+ listed above, we have 'outside right upper', 'outside right lower',
307+ 'outside left upper', and 'outside left lower'. See
308+ :doc:`/tutorials/intermediate/legend_guide` for more details.
309+ """
310+
311+ _legend_kw_figure_st = (_loc_doc_base .format ("default: 'upper right'" ,
312+ _outside_doc ) +
313+ _legend_kw_doc_base )
314+ _docstring .interpd .update (_legend_kw_figure = _legend_kw_figure_st )
315+
316+ _legend_kw_both_st = (
317+ _loc_doc_base .format ("default: 'best' for axes, 'upper right' for figures" ,
318+ _outside_doc ) +
319+ _legend_kw_doc_base )
320+ _docstring .interpd .update (_legend_kw_doc = _legend_kw_both_st )
293321
294322
295323class Legend (Artist ):
0 commit comments