Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit b34c605

Browse filesBrowse files
Mark WolfImportanceOfBeingErnest
authored andcommitted
Documentation for using ConnectionPatch across Axes with constrained_… (#14957)
* Documentation for using ConnectionPatch across Axes with constrained_layout. When using a figure with contrained layout management, adding a ConnectionPatch between different subplot Axes breaks the layout. The artist should be removed from layout considerations before being added to the axes. This commit notes this fix in the documentation. #14907 * Made documentation more general for artist limitations in constrained_layout. * Revised the ConnectionPatch documentation to suggest Figure.add_artist().
1 parent 22d7689 commit b34c605
Copy full SHA for b34c605

File tree

Expand file treeCollapse file tree

2 files changed

+24
-2
lines changed
Filter options
Expand file treeCollapse file tree

2 files changed

+24
-2
lines changed

‎lib/matplotlib/patches.py

Copy file name to clipboardExpand all lines: lib/matplotlib/patches.py
+17-2Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4215,8 +4215,7 @@ def __init__(self, xyA, xyB, coordsA, coordsB=None,
42154215
clip_on=False,
42164216
dpi_cor=1.,
42174217
**kwargs):
4218-
"""
4219-
Connect point *xyA* in *coordsA* with point *xyB* in *coordsB*
4218+
"""Connect point *xyA* in *coordsA* with point *xyB* in *coordsB*
42204219
42214220
Valid keys are
42224221
@@ -4259,6 +4258,22 @@ def __init__(self, xyA, xyB, coordsA, coordsB=None,
42594258
42604259
Alternatively they can be set to any valid
42614260
`~matplotlib.transforms.Transform`.
4261+
4262+
.. note::
4263+
4264+
Using :class:`~matplotlib.patches.ConnectionPatch` across
4265+
two :class:`~matplotlib.axes.Axes` instances is not
4266+
directly compatible with :doc:`constrained layout
4267+
</tutorials/intermediate/constrainedlayout_guide>`. Add the
4268+
artist directly to the :class:`~matplotlib.figure.Figure`
4269+
instead of adding it to a specific Axes.
4270+
4271+
.. code-block:: default
4272+
4273+
fig, ax = plt.subplots(1, 2, constrained_layout=True)
4274+
con = ConnectionPatch(..., axesA=ax[0], axesB=ax[1])
4275+
fig.add_artist(con)
4276+
42624277
"""
42634278
if coordsB is None:
42644279
coordsB = coordsA

‎tutorials/intermediate/constrainedlayout_guide.py

Copy file name to clipboardExpand all lines: tutorials/intermediate/constrainedlayout_guide.py
+7Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -581,6 +581,13 @@ def docomplicated(suptitle=None):
581581
#
582582
# * There are small differences in how the backends handle rendering fonts,
583583
# so the results will not be pixel-identical.
584+
#
585+
# * An artist using axes coordinates that extend beyond the axes
586+
# boundary will result in unusual layouts when added to an
587+
# axes. This can be avoided by adding the artist directly to the
588+
# :class:`~matplotlib.figure.Figure` using
589+
# :meth:`~matplotlib.figure.Figure.add_artist`. See
590+
# :class:`~matplotlib.patches.ConnectionPatch` for an example.
584591

585592
###########################################################
586593
# Debugging

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.