From 398e7b588aba230977fa206a5a3ab0cf16b1c0ff Mon Sep 17 00:00:00 2001 From: Piti Ongmongkolkul Date: Fri, 28 Dec 2012 10:35:13 -0800 Subject: [PATCH 1/2] add framealpha argument for legend --- examples/pylab_examples/legend_auto.py | 2 +- lib/matplotlib/axes.py | 3 + lib/matplotlib/legend.py | 7 + .../test_legend/framealpha.pdf | Bin 0 -> 6028 bytes .../test_legend/framealpha.png | Bin 0 -> 15041 bytes .../test_legend/framealpha.svg | 495 ++++++++++++++++++ lib/matplotlib/tests/test_legend.py | 6 + 7 files changed, 512 insertions(+), 1 deletion(-) create mode 100644 lib/matplotlib/tests/baseline_images/test_legend/framealpha.pdf create mode 100644 lib/matplotlib/tests/baseline_images/test_legend/framealpha.png create mode 100644 lib/matplotlib/tests/baseline_images/test_legend/framealpha.svg diff --git a/examples/pylab_examples/legend_auto.py b/examples/pylab_examples/legend_auto.py index a29a746d13ae..bcab13df3375 100644 --- a/examples/pylab_examples/legend_auto.py +++ b/examples/pylab_examples/legend_auto.py @@ -18,7 +18,7 @@ def fig_1(): figure(1) t = arange(0, 40.0 * pi, 0.1) l, = plot(t, 100*sin(t), 'r', label='sine') - legend() + legend(framealpha=0.5) def fig_2(): figure(2) diff --git a/lib/matplotlib/axes.py b/lib/matplotlib/axes.py index 11b50caf79b9..9be4a2e2be2c 100644 --- a/lib/matplotlib/axes.py +++ b/lib/matplotlib/axes.py @@ -4448,6 +4448,9 @@ def legend(self, *args, **kwargs): If *True*, draw a shadow behind legend. If *None*, use rc settings. + *framealpha*: [*None* | float] + If not None, alpha channel for legend frame. Default *None*. + *ncol* : integer number of columns. default is 1 diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index e2fa2957e1b2..7ff91b43fe1e 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -167,6 +167,9 @@ def __init__(self, parent, handles, labels, # box, none use rc shadow=None, title=None, # set a title for the legend + + framealpha=None, #set frame alpha + bbox_to_anchor=None, # bbox that the legend will be anchored. bbox_transform=None, # transform for the bbox frameon=None, # draw frame @@ -195,6 +198,7 @@ def __init__(self, parent, handles, labels, fancybox if True, draw a frame with a round fancybox. If None, use rc shadow if True, draw a shadow behind legend + framealpha If not None, alpha channel for the frame. ncol number of columns borderpad the fractional whitespace inside the legend border labelspacing the vertical space between the legend entries @@ -384,6 +388,9 @@ def __init__(self, parent, handles, labels, # init with null renderer self._init_legend_box(handles, labels) + if framealpha is not None: + self.get_frame().set_alpha(framealpha) + self._loc = loc self.set_title(title) diff --git a/lib/matplotlib/tests/baseline_images/test_legend/framealpha.pdf b/lib/matplotlib/tests/baseline_images/test_legend/framealpha.pdf new file mode 100644 index 0000000000000000000000000000000000000000..397fee82c1ce8c18284813070100d2f62668cd8b GIT binary patch literal 6028 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 literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/baseline_images/test_legend/framealpha.png b/lib/matplotlib/tests/baseline_images/test_legend/framealpha.png new file mode 100644 index 0000000000000000000000000000000000000000..1fbe5c674aff4b0ce24d5afb513279b4eb8fc7c1 GIT binary patch literal 15041 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 literal 0 HcmV?d00001 diff --git a/lib/matplotlib/tests/baseline_images/test_legend/framealpha.svg b/lib/matplotlib/tests/baseline_images/test_legend/framealpha.svg new file mode 100644 index 000000000000..4a2bc519b45e --- /dev/null +++ b/lib/matplotlib/tests/baseline_images/test_legend/framealpha.svg @@ -0,0 +1,495 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index 06735c5c6928..b4898986fa82 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -47,6 +47,12 @@ def test_fancy(): plt.legend(loc="center left", bbox_to_anchor=[1.0, 0.5], ncol=2, shadow=True, title="My legend", numpoints=1) +@image_comparison(baseline_images=['framealpha'], remove_text=True) +def test_framealpha(): + x = np.linspace(1,100,100) + y = x + plt.plot(x,y, label='mylabel', lw=10) + plt.legend(framealpha=0.5) @image_comparison(baseline_images=['scatter_rc3','scatter_rc1'], remove_text=True) def test_rc(): From e92ddea93ef474ef4a46b57b5d5e5b116e7530f3 Mon Sep 17 00:00:00 2001 From: Piti Ongmongkolkul Date: Sun, 30 Dec 2012 10:11:49 -0800 Subject: [PATCH 2/2] fix PEP8 --- lib/matplotlib/legend.py | 2 +- lib/matplotlib/tests/test_legend.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index 7ff91b43fe1e..07b7f5cd6f1c 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -168,7 +168,7 @@ def __init__(self, parent, handles, labels, shadow=None, title=None, # set a title for the legend - framealpha=None, #set frame alpha + framealpha=None, # set frame alpha bbox_to_anchor=None, # bbox that the legend will be anchored. bbox_transform=None, # transform for the bbox diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index b4898986fa82..d9448791d029 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -49,9 +49,9 @@ def test_fancy(): @image_comparison(baseline_images=['framealpha'], remove_text=True) def test_framealpha(): - x = np.linspace(1,100,100) + x = np.linspace(1, 100, 100) y = x - plt.plot(x,y, label='mylabel', lw=10) + plt.plot(x, y, label='mylabel', lw=10) plt.legend(framealpha=0.5) @image_comparison(baseline_images=['scatter_rc3','scatter_rc1'], remove_text=True) pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy