From 1d28f8f525db8b75730f7f7122b59557d4d010f0 Mon Sep 17 00:00:00 2001 From: Charisma Kausar Date: Sat, 3 Dec 2022 14:35:39 +0300 Subject: [PATCH 1/7] Add ellipse class for annotation box styles --- lib/matplotlib/patches.py | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index f127ab20a97b..822c91db53fa 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -9,6 +9,7 @@ import textwrap from types import SimpleNamespace from collections import namedtuple +from matplotlib.transforms import Affine2D import numpy as np @@ -2337,7 +2338,32 @@ def __call__(self, x0, y0, width, height, mutation_size): # boundary of the padded box x0, y0 = x0 - pad, y0 - pad return Path.circle((x0 + width / 2, y0 + height / 2), - max(width, height) / 2) + max(width, height) / 2) + + @_register_style(_style_list) + class Ellipse: + """An elliptical box.""" + + def __init__(self, pad=0.3): + """ + Parameters + ---------- + pad : float, default: 0.3 + The amount of padding around the original box. + """ + self.pad = pad + + def __call__(self, x0, y0, width, height, mutation_size): + pad = mutation_size * self.pad + width, height = width + 2 * pad, height + 2 * pad + # boundary of the padded box + x0, y0 = x0 - pad, y0 - pad + a = width / math.sqrt(2) + b = height / math.sqrt(2) + trans = Affine2D().scale(a, b).translate(x0 + width / 2, + y0 + height / 2) + ellipse_path = trans.transform_path(Path.unit_circle()) + return ellipse_path @_register_style(_style_list) class LArrow: From 0ce7403ad64b9c2e02d7ad0cc3a3be493afe3186 Mon Sep 17 00:00:00 2001 From: Charisma Kausar Date: Sat, 3 Dec 2022 19:50:38 +0300 Subject: [PATCH 2/7] Edit documentation for ellipse annotation --- doc/missing-references.json | 1 + .../boxarrow_test_image.png | Bin 41650 -> 47329 bytes tutorials/text/annotations.py | 1 + 3 files changed, 2 insertions(+) diff --git a/doc/missing-references.json b/doc/missing-references.json index 52ffa65805b1..ad02636f97a9 100644 --- a/doc/missing-references.json +++ b/doc/missing-references.json @@ -366,6 +366,7 @@ ], "matplotlib.patches.BoxStyle._Base": [ "lib/matplotlib/patches.py:docstring of matplotlib.patches.BoxStyle.Circle:1", + "lib/matplotlib/patches.py:docstring of matplotlib.patches.BoxStyle.Ellipse:1", "lib/matplotlib/patches.py:docstring of matplotlib.patches.BoxStyle.DArrow:1", "lib/matplotlib/patches.py:docstring of matplotlib.patches.BoxStyle.LArrow:1", "lib/matplotlib/patches.py:docstring of matplotlib.patches.BoxStyle.Round4:1", diff --git a/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_test_image.png b/lib/matplotlib/tests/baseline_images/test_arrow_patches/boxarrow_test_image.png index 9e613ff40ca9f099815ac1c18c24bdfbbed41f08..11ad0b89b4dbefaf6d0fcf028734d82f746c6021 100644 GIT binary patch literal 47329 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 gS=AA|yU^D=MQ$cSFj3RL8B_ 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 G<9`5iS)tni diff --git a/tutorials/text/annotations.py b/tutorials/text/annotations.py index 6029d1180d08..f67ee347a7e6 100644 --- a/tutorials/text/annotations.py +++ b/tutorials/text/annotations.py @@ -192,6 +192,7 @@ # Class Name Attrs # ========== ============== ========================== # Circle ``circle`` pad=0.3 +# Ellipse ``ellipse`` pad=0.3 # DArrow ``darrow`` pad=0.3 # LArrow ``larrow`` pad=0.3 # RArrow ``rarrow`` pad=0.3 From 413738096a3b5a458d4e6aa2a6924d1ab71a2f33 Mon Sep 17 00:00:00 2001 From: Charisma Kausar <68203159+ckcherry23@users.noreply.github.com> Date: Sat, 3 Dec 2022 19:53:19 +0300 Subject: [PATCH 3/7] Add version details in ellipse annotation docstring Co-authored-by: Oscar Gustafsson --- lib/matplotlib/patches.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index 822c91db53fa..d0edaf3c6180 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2342,7 +2342,11 @@ def __call__(self, x0, y0, width, height, mutation_size): @_register_style(_style_list) class Ellipse: - """An elliptical box.""" + """ + An elliptical box. + + .. versionadded:: 3.7 + """ def __init__(self, pad=0.3): """ From 15ace421d68a381477d1851baba2c017aa641854 Mon Sep 17 00:00:00 2001 From: Charisma Kausar <68203159+ckcherry23@users.noreply.github.com> Date: Sat, 3 Dec 2022 19:54:29 +0300 Subject: [PATCH 4/7] Refactor ellipse path for brevity Co-authored-by: Oscar Gustafsson --- lib/matplotlib/patches.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index d0edaf3c6180..cd4af8a84ba6 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2366,8 +2366,7 @@ def __call__(self, x0, y0, width, height, mutation_size): b = height / math.sqrt(2) trans = Affine2D().scale(a, b).translate(x0 + width / 2, y0 + height / 2) - ellipse_path = trans.transform_path(Path.unit_circle()) - return ellipse_path + return trans.transform_path(Path.unit_circle()) @_register_style(_style_list) class LArrow: From 4e4775587c1fea83917091f387220bddc6105394 Mon Sep 17 00:00:00 2001 From: Charisma Kausar Date: Sat, 3 Dec 2022 20:57:26 +0300 Subject: [PATCH 5/7] Update release notes with ellipse annotation --- doc/users/next_whats_new/ellipse_annotation.rst | 15 +++++++++++++++ lib/matplotlib/patches.py | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 doc/users/next_whats_new/ellipse_annotation.rst diff --git a/doc/users/next_whats_new/ellipse_annotation.rst b/doc/users/next_whats_new/ellipse_annotation.rst new file mode 100644 index 000000000000..9c1bf7a64334 --- /dev/null +++ b/doc/users/next_whats_new/ellipse_annotation.rst @@ -0,0 +1,15 @@ +``ellipse`` boxstyle option for annotations +------------------------------------------- + +The `ellipse` option for boxstyle can now be used to create annotations +with an elliptical outline. It can be used as a closed curve shape for +longer texts instead of the `circle` boxstyle which can get quite big. + +.. plot:: + :include-source: true + + import matplotlib.pyplot as plt + fig, ax = plt.subplots(figsize=(5, 5)) + t = ax.text(0.5, 0.5, "elliptical box", + ha="center", size=15, + bbox=dict(boxstyle="ellipse,pad=0.3")) diff --git a/lib/matplotlib/patches.py b/lib/matplotlib/patches.py index cd4af8a84ba6..7b0314bcbfe9 100644 --- a/lib/matplotlib/patches.py +++ b/lib/matplotlib/patches.py @@ -2344,7 +2344,7 @@ def __call__(self, x0, y0, width, height, mutation_size): class Ellipse: """ An elliptical box. - + .. versionadded:: 3.7 """ From 18e3e4df1b8059c318866b723b565b597708139b Mon Sep 17 00:00:00 2001 From: Charisma Kausar Date: Sat, 3 Dec 2022 21:05:24 +0300 Subject: [PATCH 6/7] Reorder boxstyle options alphabetically --- doc/missing-references.json | 2 +- tutorials/text/annotations.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/missing-references.json b/doc/missing-references.json index ad02636f97a9..bc95ad1880c2 100644 --- a/doc/missing-references.json +++ b/doc/missing-references.json @@ -366,8 +366,8 @@ ], "matplotlib.patches.BoxStyle._Base": [ "lib/matplotlib/patches.py:docstring of matplotlib.patches.BoxStyle.Circle:1", - "lib/matplotlib/patches.py:docstring of matplotlib.patches.BoxStyle.Ellipse:1", "lib/matplotlib/patches.py:docstring of matplotlib.patches.BoxStyle.DArrow:1", + "lib/matplotlib/patches.py:docstring of matplotlib.patches.BoxStyle.Ellipse:1", "lib/matplotlib/patches.py:docstring of matplotlib.patches.BoxStyle.LArrow:1", "lib/matplotlib/patches.py:docstring of matplotlib.patches.BoxStyle.Round4:1", "lib/matplotlib/patches.py:docstring of matplotlib.patches.BoxStyle.Round:1", diff --git a/tutorials/text/annotations.py b/tutorials/text/annotations.py index f67ee347a7e6..4889f63d7465 100644 --- a/tutorials/text/annotations.py +++ b/tutorials/text/annotations.py @@ -192,8 +192,8 @@ # Class Name Attrs # ========== ============== ========================== # Circle ``circle`` pad=0.3 -# Ellipse ``ellipse`` pad=0.3 # DArrow ``darrow`` pad=0.3 +# Ellipse ``ellipse`` pad=0.3 # LArrow ``larrow`` pad=0.3 # RArrow ``rarrow`` pad=0.3 # Round ``round`` pad=0.3,rounding_size=None From f81fc127ce8032d2ce2a10e124d92c257e961968 Mon Sep 17 00:00:00 2001 From: Charisma Kausar Date: Sun, 4 Dec 2022 10:43:45 +0300 Subject: [PATCH 7/7] Update release notes formatting --- doc/users/next_whats_new/ellipse_annotation.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/users/next_whats_new/ellipse_annotation.rst b/doc/users/next_whats_new/ellipse_annotation.rst index 9c1bf7a64334..d6a989e77a5b 100644 --- a/doc/users/next_whats_new/ellipse_annotation.rst +++ b/doc/users/next_whats_new/ellipse_annotation.rst @@ -1,9 +1,9 @@ ``ellipse`` boxstyle option for annotations ------------------------------------------- -The `ellipse` option for boxstyle can now be used to create annotations +The ``'ellipse'`` option for boxstyle can now be used to create annotations with an elliptical outline. It can be used as a closed curve shape for -longer texts instead of the `circle` boxstyle which can get quite big. +longer texts instead of the ``'circle'`` boxstyle which can get quite big. .. plot:: :include-source: true