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)