From 77536e93ca362ed105f6cdf5acf4d23f4a5f418e Mon Sep 17 00:00:00 2001 From: asantra Date: Thu, 20 Apr 2023 15:19:21 +0300 Subject: [PATCH 1/4] top right corner position, inside the frame, with loc=5 parameter --- src/mplhep/label.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/mplhep/label.py b/src/mplhep/label.py index 6e1d0189..f0c4e53a 100644 --- a/src/mplhep/label.py +++ b/src/mplhep/label.py @@ -77,6 +77,7 @@ def exp_text( loc1_dict = { 0: {"xy": (0.001, 1 + pad), "va": "bottom"}, 1: {"xy": (0.05, 0.95 - pad), "va": "top"}, + 2: {"xy": (0.62, 0.95 - pad), "va": "top"}, } loc2_dict = { @@ -85,15 +86,18 @@ def exp_text( 2: {"xy": (0.05, 0.9450 - pad), "va": "top"}, 3: {"xy": (0.05, 0.95 - pad), "va": "top"}, 4: {"xy": (0.05, 0.9550 - pad), "va": "bottom"}, + 5: {"xy": (0.6250, 0.9550 - pad), "va": "bottom"}, } - if loc not in [0, 1, 2, 3, 4]: + if loc not in [0, 1, 2, 3, 4, 5]: raise ValueError( - "loc must be in {0, 1, 2}:\n" + "loc must be in {0, 1, 2, 3, 4, 5}:\n" "0 : Above axes, left aligned\n" "1 : Top left corner\n" "2 : Top left corner, multiline\n" "3 : Split EXP above axes, rest of label in top left corner\n" + "4 : Top left corner, inside the frame \n" + "5 : Top right corner, inside the frame \n" ) def pixel_to_axis(extent, ax=None): @@ -119,6 +123,8 @@ def dist(tup): if loc in [0, 3]: _exp_loc = 0 + elif loc == 5: + _exp_loc = 2 else: _exp_loc = 1 _formater = ax.get_yaxis().get_major_formatter() @@ -152,7 +158,7 @@ def dist(tup): _t = mtransforms.offset_copy( exptext._transform, x=_exp_xoffset, units="inches", fig=ax.figure ) - elif loc in [1, 4]: + elif loc in [1, 4, 5]: _t = mtransforms.offset_copy( exptext._transform, x=_exp_xoffset, @@ -339,7 +345,7 @@ def exp_label( italic=italic, pad=pad, ) - if loc == 4: + if loc >= 4: _t = mtransforms.offset_copy( exptext._transform, y=-exptext.get_window_extent().height / ax.figure.dpi, From c3aeef9a896a9e26417be82941c9ee7c47498317 Mon Sep 17 00:00:00 2001 From: asantra Date: Thu, 20 Apr 2023 15:40:07 +0300 Subject: [PATCH 2/4] top right corner position, inside the frame, with loc=5 parameter, addition of comments --- src/mplhep/label.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/mplhep/label.py b/src/mplhep/label.py index f0c4e53a..57ce7811 100644 --- a/src/mplhep/label.py +++ b/src/mplhep/label.py @@ -48,7 +48,9 @@ def exp_text( - 0 : Above axes, left aligned - 1 : Top left corner - 2 : Top left corner, multiline - - 3 : Split EXP above axes, rest of label in top left corner" + - 3 : Split EXP above axes, rest of label in top left corner + - 4 : Top left corner, but align "rlabel" underneath + - 5 : Top right corner, but align "rlabel" underneath ax : matplotlib.axes.Axes, optional Axes object (if None, last one is fetched) fontname : string, optional @@ -262,8 +264,9 @@ def exp_label( - 0 : Above axes, left aligned - 1 : Top left corner - 2 : Top left corner, multiline - - 3 : Split EXP above axes, rest of label in top left corner" + - 3 : Split EXP above axes, rest of label in top left corner - 4 : (1) Top left corner, but align "rlabel" underneath + - 5 : (1) Top right corner, but align "rlabel" underneath ax : matplotlib.axes.Axes, optional Axes object (if None, last one is fetched) data : bool, optional From b1eaf487e74965051c6e3640ddf3490dd028bae5 Mon Sep 17 00:00:00 2001 From: asantra Date: Sat, 22 Apr 2023 13:41:54 +0300 Subject: [PATCH 3/4] adding top right corner as label position, adding in the test too --- src/mplhep/label.py | 10 +++++----- tests/test_styles.py | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/mplhep/label.py b/src/mplhep/label.py index 57ce7811..e3e9640f 100644 --- a/src/mplhep/label.py +++ b/src/mplhep/label.py @@ -48,9 +48,9 @@ def exp_text( - 0 : Above axes, left aligned - 1 : Top left corner - 2 : Top left corner, multiline - - 3 : Split EXP above axes, rest of label in top left corner - - 4 : Top left corner, but align "rlabel" underneath - - 5 : Top right corner, but align "rlabel" underneath + - 3 : Split EXP above axes, rest of label in top left corner" + - 4 : Top left corner, inside the frame + - 5 : Top right corner, inside the frame ax : matplotlib.axes.Axes, optional Axes object (if None, last one is fetched) fontname : string, optional @@ -79,7 +79,7 @@ def exp_text( loc1_dict = { 0: {"xy": (0.001, 1 + pad), "va": "bottom"}, 1: {"xy": (0.05, 0.95 - pad), "va": "top"}, - 2: {"xy": (0.62, 0.95 - pad), "va": "top"}, + 2: {"xy": (0.56, 0.95 - pad), "va": "top"}, } loc2_dict = { @@ -88,7 +88,7 @@ def exp_text( 2: {"xy": (0.05, 0.9450 - pad), "va": "top"}, 3: {"xy": (0.05, 0.95 - pad), "va": "top"}, 4: {"xy": (0.05, 0.9550 - pad), "va": "bottom"}, - 5: {"xy": (0.6250, 0.9550 - pad), "va": "bottom"}, + 5: {"xy": (0.5650, 0.9550 - pad), "va": "bottom"}, } if loc not in [0, 1, 2, 3, 4, 5]: diff --git a/tests/test_styles.py b/tests/test_styles.py index fdc2d31c..56fd4b21 100644 --- a/tests/test_styles.py +++ b/tests/test_styles.py @@ -214,7 +214,7 @@ def test_labeltext_loc(): @pytest.mark.mpl_image_compare(style="default") def test_label_loc(): - fig, axs = plt.subplots(1, 5, figsize=(20, 4)) + fig, axs = plt.subplots(2, 3, figsize=(20, 4)) for i, ax in enumerate(axs.flatten()): hep.cms.label("Preliminary", loc=i, ax=ax, lumi=50, data=True) return fig From 1d7f1e1aa268801d3baba00b677af6684859d4a6 Mon Sep 17 00:00:00 2001 From: asantra Date: Sat, 22 Apr 2023 23:33:58 +0300 Subject: [PATCH 4/4] adding the image showing new label position --- tests/baseline/test_label_loc.png | Bin 24991 -> 35590 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/baseline/test_label_loc.png b/tests/baseline/test_label_loc.png index bceb6ebd84b64c78b90d9737f7642659cb5cb82a..80611aa5ff0a21bb5d536df02ae4052b8ff90b06 100644 GIT binary patch literal 35590 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

UBg;J3NcNALSR#Z}eKwUt!Y8M-*z!QHfR$ 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 H)BpT$O;5UV literal 24991 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