From 87d05aea59a339b54477cf405dadb5a7bb9a8c08 Mon Sep 17 00:00:00 2001 From: Alan Lau Date: Thu, 7 Dec 2023 22:08:16 -0500 Subject: [PATCH] Fix legend auto-placement in the presence of text or PolyCollections Co-authored-by: alextanned <74106760+alextanned@users.noreply.github.com> --- .../next_api_changes/behavior/27469-AL.rst | 11 ++++++ lib/matplotlib/legend.py | 5 +++ .../test_legend/legend_stackplot.png | Bin 28389 -> 29512 bytes lib/matplotlib/tests/test_legend.py | 36 ++++++++++++++++++ 4 files changed, 52 insertions(+) create mode 100644 doc/api/next_api_changes/behavior/27469-AL.rst diff --git a/doc/api/next_api_changes/behavior/27469-AL.rst b/doc/api/next_api_changes/behavior/27469-AL.rst new file mode 100644 index 000000000000..c47397e873b7 --- /dev/null +++ b/doc/api/next_api_changes/behavior/27469-AL.rst @@ -0,0 +1,11 @@ +``loc='best'`` for ``legend`` now considers ``Text`` and ``PolyCollections`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The location selection ``legend`` now considers the existence of ``Text`` +and ``PolyCollections`` in the ``badness`` calculation. + +Note: The ``best`` option can already be quite slow for plots with large +amounts of data. For ``PolyCollections``, it only considers the ``Path`` +of ``PolyCollections`` and not the enclosed area when checking for overlap +to reduce additional latency. However, it can still be quite slow when +there are large amounts of ``PolyCollections`` in the plot to check for. diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 3e3ed5d7a7f7..111e08e00869 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -978,10 +978,15 @@ def _auto_legend_data(self): elif isinstance(artist, Patch): lines.append( artist.get_transform().transform_path(artist.get_path())) + elif isinstance(artist, PolyCollection): + lines.extend(artist.get_transform().transform_path(path) + for path in artist.get_paths()) elif isinstance(artist, Collection): transform, transOffset, hoffsets, _ = artist._prepare_points() if len(hoffsets): offsets.extend(transOffset.transform(hoffsets)) + elif isinstance(artist, Text): + bboxes.append(artist.get_window_extent()) return bboxes, lines, offsets diff --git a/lib/matplotlib/tests/baseline_images/test_legend/legend_stackplot.png b/lib/matplotlib/tests/baseline_images/test_legend/legend_stackplot.png index 850dcc83cd40e21318da0a92f27f4313577a02dd..6467533558384824ba42ab1e6d20efc2a58bdfeb 100644 GIT binary patch literal 29512 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

Le|AlD}g#AA_@cLAB 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