From dc3c23797c07f012972be539d49fa997e799d6c6 Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Sun, 9 Aug 2020 12:07:25 +0100 Subject: [PATCH 01/19] Rename height_fraction to width_fraction --- matplotlib_scalebar/scalebar.py | 69 ++++++++++++++++++++++++++------- 1 file changed, 54 insertions(+), 15 deletions(-) diff --git a/matplotlib_scalebar/scalebar.py b/matplotlib_scalebar/scalebar.py index ed1d3ce..3ac4ec9 100644 --- a/matplotlib_scalebar/scalebar.py +++ b/matplotlib_scalebar/scalebar.py @@ -38,6 +38,7 @@ # Standard library modules. import bisect +import warnings # Third party modules. import matplotlib @@ -83,7 +84,8 @@ defaultParams.update( { "scalebar.length_fraction": [0.2, validate_float], - "scalebar.height_fraction": [0.01, validate_float], + "scalebar.height_fraction": [0.01, validate_float], # deprecated + "scalebar.width_fraction": [0.01, validate_float], "scalebar.location": ["upper right", validate_legend_loc], "scalebar.pad": [0.2, validate_float], "scalebar.border_pad": [0.1, validate_float], @@ -147,6 +149,7 @@ def __init__( label=None, length_fraction=None, height_fraction=None, + width_fraction=None, location=None, pad=None, border_pad=None, @@ -204,9 +207,9 @@ def __init__( This argument is ignored if a *fixed_value* is specified. :type length_fraction: :class:`float` - :arg height_fraction: height of the scale bar as a fraction of the - axes's height (default: rcParams['scalebar.height_fraction'] or ``0.01``) - :type length_fraction: :class:`float` + :arg width_fraction: width of the scale bar as a fraction of the + axes's height (default: rcParams['scalebar.width_fraction'] or ``0.01``) + :type width_fraction: :class:`float` :arg location: a location code (same as legend) (default: rcParams['scalebar.location'] or ``upper right``) @@ -272,12 +275,20 @@ def __init__( """ Artist.__init__(self) + # Deprecation + if height_fraction is not None: + warnings.warn( + "The height_fraction argument was deprecated. Use width_fraction instead.", + DeprecationWarning, + ) + width_fraction = width_fraction or height_fraction + self.dx = dx self.dimension = dimension # Should be initialize before units self.units = units self.label = label self.length_fraction = length_fraction - self.height_fraction = height_fraction + self.width_fraction = width_fraction self.location = location self.pad = pad self.border_pad = border_pad @@ -336,9 +347,21 @@ def draw(self, renderer, *args, **kwargs): if self.dx == 0: return - # Get parameters - from matplotlib import rcParams # late import + # Late import + from matplotlib import rcParams + # Deprecation + if rcParams.get("scalebar.height_fraction") is not None: + warnings.warn( + "The scalebar.height_fraction parameter in matplotlibrc is deprecated. " + "Use scalebar.width_fraction instead.", + DeprecationWarning, + ) + rcParams.setdefault( + "scalebar.width_fraction", rcParams["scalebar.height_fraction"] + ) + + # Get parameters def _get_value(attr, default): value = getattr(self, attr) if value is None: @@ -346,7 +369,7 @@ def _get_value(attr, default): return value length_fraction = _get_value("length_fraction", 0.2) - height_fraction = _get_value("height_fraction", 0.01) + width_fraction = _get_value("width_fraction", 0.01) location = _get_value("location", "upper right") if isinstance(location, str): location = self._LOCATIONS[location] @@ -387,7 +410,7 @@ def _get_value(attr, default): scale_label = self.label_formatter(value, self.dimension.to_latex(units)) - size_vertical = abs(ylim[1] - ylim[0]) * height_fraction + size_vertical = abs(ylim[1] - ylim[0]) * width_fraction # Create size bar sizebar = AuxTransformBox(ax.transData) @@ -496,17 +519,33 @@ def set_length_fraction(self, fraction): length_fraction = property(get_length_fraction, set_length_fraction) - def get_height_fraction(self): - return self._height_fraction + def get_width_fraction(self): + return self._width_fraction - def set_height_fraction(self, fraction): + def set_width_fraction(self, fraction): if fraction is not None: fraction = float(fraction) if fraction <= 0.0 or fraction > 1.0: - raise ValueError("Height fraction must be between [0.0, 1.0]") - self._height_fraction = fraction + raise ValueError("Width fraction must be between [0.0, 1.0]") + self._width_fraction = fraction + + width_fraction = property(get_width_fraction, set_width_fraction) + + def get_height_fraction(self): + warnings.warn( + "The get_height_fraction method is deprecated. Use get_width_fraction instead.", + DeprecationWarning, + ) + return self.width_fraction + + def set_height_fraction(self, fraction): + warnings.warn( + "The set_height_fraction method is deprecated. Use set_width_fraction instead.", + DeprecationWarning, + ) + self.width_fraction = fraction - height_fraction = property(get_height_fraction, set_height_fraction) + height_fraction = width_fraction def get_location(self): return self._location From a3d73e4002931246262de31b0726436521594d9a Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Sun, 9 Aug 2020 12:13:10 +0100 Subject: [PATCH 02/19] Rename internal variables --- matplotlib_scalebar/scalebar.py | 38 +++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/matplotlib_scalebar/scalebar.py b/matplotlib_scalebar/scalebar.py index 3ac4ec9..2430583 100644 --- a/matplotlib_scalebar/scalebar.py +++ b/matplotlib_scalebar/scalebar.py @@ -410,52 +410,58 @@ def _get_value(attr, default): scale_label = self.label_formatter(value, self.dimension.to_latex(units)) - size_vertical = abs(ylim[1] - ylim[0]) * width_fraction + width_px = abs(ylim[1] - ylim[0]) * width_fraction - # Create size bar - sizebar = AuxTransformBox(ax.transData) - sizebar.add_artist( + # Create scale bar + scale_bar_box = AuxTransformBox(ax.transData) + scale_bar_box.add_artist( Rectangle( (0, 0), length_px, - size_vertical, + width_px, fill=True, facecolor=color, edgecolor="none", ) ) - txtscale = TextArea(scale_label, minimumdescent=False, textprops=textprops) + scale_label_box = TextArea( + scale_label, minimumdescent=False, textprops=textprops + ) if scale_loc in ["bottom", "right"]: - children = [sizebar, txtscale] + children = [scale_bar_box, scale_label_box] else: - children = [txtscale, sizebar] + children = [scale_label_box, scale_bar_box] + if scale_loc in ["bottom", "top"]: Packer = VPacker else: Packer = HPacker - boxsizebar = Packer(children=children, align="center", pad=0, sep=sep) - # Create text area + scale_box = Packer(children=children, align="center", pad=0, sep=sep) + + # Create label if label: - txtlabel = TextArea(label, minimumdescent=False, textprops=textprops) + label_box = TextArea(label, minimumdescent=False, textprops=textprops) else: - txtlabel = None + label_box = None # Create final offset box - if txtlabel: + if label_box: if label_loc in ["bottom", "right"]: - children = [boxsizebar, txtlabel] + children = [scale_box, label_box] else: - children = [txtlabel, boxsizebar] + children = [label_box, scale_box] + if label_loc in ["bottom", "top"]: Packer = VPacker else: Packer = HPacker + child = Packer(children=children, align="center", pad=0, sep=sep) else: - child = boxsizebar + child = scale_box box = AnchoredOffsetbox( loc=location, pad=pad, borderpad=border_pad, child=child, frameon=frameon From a0647a5538636ae3f767d5006512bb846e944594 Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Sun, 9 Aug 2020 12:36:32 +0100 Subject: [PATCH 03/19] Use pytest --- matplotlib_scalebar/test_dimension.py | 210 +++++++------------------- 1 file changed, 54 insertions(+), 156 deletions(-) diff --git a/matplotlib_scalebar/test_dimension.py b/matplotlib_scalebar/test_dimension.py index d2caa88..b4f5951 100644 --- a/matplotlib_scalebar/test_dimension.py +++ b/matplotlib_scalebar/test_dimension.py @@ -2,10 +2,9 @@ """ """ # Standard library modules. -import unittest -import logging # Third party modules. +import pytest # Local modules. from matplotlib_scalebar.dimension import ( @@ -19,157 +18,56 @@ # Globals and constants variables. -class TestSILengthDimension(unittest.TestCase): - def setUp(self): - unittest.TestCase.setUp(self) - - self.dim = SILengthDimension() - - def tearDown(self): - unittest.TestCase.tearDown(self) - - def testcalculate_preferred_km(self): - value, units = self.dim.calculate_preferred(2000, "m") - self.assertAlmostEqual(2.0, value, 2) - self.assertEqual("km", units) - - def testcalculate_preferred_m(self): - value, units = self.dim.calculate_preferred(200, "m") - self.assertAlmostEqual(200.0, value, 2) - self.assertEqual("m", units) - - def testcalculate_preferred_cm(self): - value, units = self.dim.calculate_preferred(0.02, "m") - self.assertAlmostEqual(2.0, value, 2) - self.assertEqual("cm", units) - - def testcalculate_preferred_cm2(self): - value, units = self.dim.calculate_preferred(0.01, "m") - self.assertAlmostEqual(1.0, value, 2) - self.assertEqual("cm", units) - - def testcalculate_preferred_mm1(self): - value, units = self.dim.calculate_preferred(0.002, "m") - self.assertAlmostEqual(2.0, value, 2) - self.assertEqual("mm", units) - - def testcalculate_preferred_mm2(self): - value, units = self.dim.calculate_preferred(0.001, "m") - self.assertAlmostEqual(1.0, value, 2) - self.assertEqual("mm", units) - - def testcalculate_preferred_mm3(self): - value, units = self.dim.calculate_preferred(0.009, "m") - self.assertAlmostEqual(9.0, value, 2) - self.assertEqual("mm", units) - - def testcalculate_preferred_nm(self): - value, units = self.dim.calculate_preferred(2e-7, "m") - self.assertAlmostEqual(200.0, value, 2) - self.assertEqual("nm", units) - - def testto_latex_cm(self): - self.assertEqual("cm", self.dim.to_latex("cm")) - - def testto_latex_um(self): - self.assertEqual(_LATEX_MU + "m", self.dim.to_latex(u"\u00b5m")) - - def testconvert(self): - value = self.dim.convert(2, "cm", "um") - self.assertAlmostEqual(2e4, value, 6) - - value = self.dim.convert(2, "um", "cm") - self.assertAlmostEqual(2e-4, value, 6) - - -class TestImperialLengthDimension(unittest.TestCase): - def setUp(self): - unittest.TestCase.setUp(self) - - self.dim = ImperialLengthDimension() - - def tearDown(self): - unittest.TestCase.tearDown(self) - - def testcalculate_preferred_ft(self): - value, units = self.dim.calculate_preferred(18, "in") - self.assertAlmostEqual(1.5, value, 2) - self.assertEqual("ft", units) - - def testcalculate_preferred_yd(self): - value, units = self.dim.calculate_preferred(120, "in") - self.assertAlmostEqual(3.33, value, 2) - self.assertEqual("yd", units) - - def testcalculate_preferred_mi(self): - value, units = self.dim.calculate_preferred(10000, "ft") - self.assertAlmostEqual(1.8939, value, 2) - self.assertEqual("mi", units) - - -class TestSILengthReciprocalDimension(unittest.TestCase): - def setUp(self): - unittest.TestCase.setUp(self) - - self.dim = SILengthReciprocalDimension() - - def tearDown(self): - unittest.TestCase.tearDown(self) - - def testcalculate_preferred_cm(self): - value, units = self.dim.calculate_preferred(0.02, "1/m") - self.assertAlmostEqual(20.0, value, 2) - self.assertEqual("1/km", units) - - def testcalculate_preferred_mm1(self): - value, units = self.dim.calculate_preferred(0.002, "1/m") - self.assertAlmostEqual(2.0, value, 2) - self.assertEqual("1/km", units) - - def testto_latex_cm(self): - self.assertEqual("cm$^{-1}$", self.dim.to_latex("1/cm")) - - def testto_latex_um(self): - self.assertEqual(_LATEX_MU + "m$^{-1}$", self.dim.to_latex(u"1/\u00b5m")) - - -class TestPixelLengthDimension(unittest.TestCase): - def setUp(self): - unittest.TestCase.setUp(self) - - self.dim = PixelLengthDimension() - - def tearDown(self): - unittest.TestCase.tearDown(self) - - def testcalculate_preferred_kpx(self): - value, units = self.dim.calculate_preferred(2000, "px") - self.assertAlmostEqual(2.0, value, 2) - self.assertEqual("kpx", units) - - def testcalculate_preferred_px(self): - value, units = self.dim.calculate_preferred(200, "px") - self.assertAlmostEqual(200.0, value, 2) - self.assertEqual("px", units) - - def testcalculate_preferred_subpx(self): - value, units = self.dim.calculate_preferred(0.02, "px") - self.assertEqual("px", units) - self.assertAlmostEqual(0.02, value, 2) - - def testcalculate_preferred_subpx2(self): - value, units = self.dim.calculate_preferred(0.001, "px") - self.assertAlmostEqual(0.001, value, 3) - self.assertEqual("px", units) - - def testconvert(self): - value = self.dim.convert(2, "kpx", "px") - self.assertAlmostEqual(2000, value, 6) - - value = self.dim.convert(2, "px", "kpx") - self.assertAlmostEqual(2e-3, value, 6) - - -if __name__ == "__main__": # pragma: no cover - logging.getLogger().setLevel(logging.DEBUG) - unittest.main() +@pytest.mark.parametrize( + "dim,value,units,expected_value,expected_units", + [ + (SILengthDimension(), 2000, "m", 2.0, "km"), + (SILengthDimension(), 200, "m", 200, "m"), + (SILengthDimension(), 0.02, "m", 2.0, "cm"), + (SILengthDimension(), 0.01, "m", 1.0, "cm"), + (SILengthDimension(), 0.002, "m", 2, "mm"), + (SILengthDimension(), 0.001, "m", 1, "mm"), + (SILengthDimension(), 0.009, "m", 9, "mm"), + (SILengthDimension(), 2e-7, "m", 200, "nm"), + (ImperialLengthDimension(), 18, "in", 1.5, "ft"), + (ImperialLengthDimension(), 120, "in", 3.333, "yd"), + (ImperialLengthDimension(), 10000, "ft", 1.8939, "mi"), + (SILengthReciprocalDimension(), 0.02, "1/m", 20.0, "1/km"), + (SILengthReciprocalDimension(), 0.002, "1/m", 2.0, "1/km"), + (PixelLengthDimension(), 2000, "px", 2.0, "kpx"), + (PixelLengthDimension(), 200, "px", 200.0, "px"), + (PixelLengthDimension(), 0.02, "px", 0.02, "px"), + (PixelLengthDimension(), 0.001, "px", 0.001, "px"), + ], +) +def test_calculate_preferred(dim, value, units, expected_value, expected_units): + value, units = dim.calculate_preferred(value, units) + assert value == pytest.approx(expected_value, abs=1e-3) + assert units == expected_units + + +@pytest.mark.parametrize( + "dim,units,expected", + [ + (SILengthDimension(), "cm", "cm"), + (SILengthDimension(), u"\u00b5m", _LATEX_MU + "m"), + (SILengthReciprocalDimension(), "1/cm", "cm$^{-1}$"), + (SILengthReciprocalDimension(), u"1/\u00b5m", _LATEX_MU + "m$^{-1}$"), + ], +) +def test_to_latex(dim, units, expected): + assert dim.to_latex(units) == expected + + +@pytest.mark.parametrize( + "dim,value,units,newunits,expected_value", + [ + (SILengthDimension(), 2, "cm", "um", 2e4), + (SILengthDimension(), 2, "um", "cm", 2e-4), + (PixelLengthDimension(), 2, "kpx", "px", 2000), + (PixelLengthDimension(), 2, "px", "kpx", 2e-3), + ], +) +def test_convert(dim, value, units, newunits, expected_value): + value = dim.convert(value, units, newunits) + assert value == pytest.approx(expected_value, abs=1e-6) From 9855557f1af0394b08c7754e5bb151ae939646ae Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Sun, 9 Aug 2020 13:03:44 +0100 Subject: [PATCH 04/19] Fix deprecation warning --- matplotlib_scalebar/scalebar.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/matplotlib_scalebar/scalebar.py b/matplotlib_scalebar/scalebar.py index 2430583..df2a8b2 100644 --- a/matplotlib_scalebar/scalebar.py +++ b/matplotlib_scalebar/scalebar.py @@ -551,7 +551,7 @@ def set_height_fraction(self, fraction): ) self.width_fraction = fraction - height_fraction = width_fraction + height_fraction = property(get_height_fraction, set_height_fraction) def get_location(self): return self._location From d03d367e79559dd7fd83fc44102c1402fe5b8a4e Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Sun, 9 Aug 2020 13:03:50 +0100 Subject: [PATCH 05/19] Use pytest --- matplotlib_scalebar/test_scalebar.py | 300 ++++++++++++--------------- 1 file changed, 130 insertions(+), 170 deletions(-) diff --git a/matplotlib_scalebar/test_scalebar.py b/matplotlib_scalebar/test_scalebar.py index 5027ddc..cb809b4 100644 --- a/matplotlib_scalebar/test_scalebar.py +++ b/matplotlib_scalebar/test_scalebar.py @@ -12,15 +12,17 @@ import numpy as np -from nose.tools import ( - assert_equal, - assert_almost_equal, - assert_is_none, - assert_true, - assert_false, - assert_raises, - raises, -) +import pytest + +# from nose.tools import ( +# assert_equal, +# assert_almost_equal, +# assert_is_none, +# assert_true, +# assert_false, +# assert_raises, +# raises, +# ) # Local modules. from matplotlib_scalebar.scalebar import ScaleBar @@ -28,7 +30,9 @@ # Globals and constants variables. -def create_figure(): +@pytest.fixture +@cleanup +def scalebar(): fig = plt.figure() ax = fig.add_subplot("111") @@ -38,238 +42,194 @@ def create_figure(): scalebar = ScaleBar(0.5) ax.add_artist(scalebar) - return fig, ax, scalebar - - -@cleanup -def test_scalebar_draw(): - fig = plt.figure() - ax = fig.add_subplot("111") - - data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) - ax.imshow(data) - - scalebar = ScaleBar(0.5, fixed_value=5.0) - ax.add_artist(scalebar) + yield scalebar plt.draw() -@cleanup -def test_scalebar_draw_fixed(): - create_figure() - plt.draw() - - -@cleanup -def test_scalebar_dx_m(): - _fig, _ax, scalebar = create_figure() - - assert_almost_equal(0.5, scalebar.get_dx()) - assert_almost_equal(0.5, scalebar.dx) +def test_scalebar_dx_m(scalebar): + assert scalebar.get_dx() == pytest.approx(0.5, abs=1e-2) + assert scalebar.dx == pytest.approx(0.5, abs=1e-2) scalebar.set_dx(0.2) - assert_almost_equal(0.2, scalebar.get_dx()) - assert_almost_equal(0.2, scalebar.dx) + assert scalebar.get_dx() == pytest.approx(0.2, abs=1e-2) + assert scalebar.dx == pytest.approx(0.2, abs=1e-2) scalebar.dx = 0.1 - assert_almost_equal(0.1, scalebar.get_dx()) - assert_almost_equal(0.1, scalebar.dx) - + assert scalebar.get_dx() == pytest.approx(0.1, abs=1e-2) + assert scalebar.dx == pytest.approx(0.1, abs=1e-2) -@cleanup -def test_scalebar_length_fraction(): - _fig, _ax, scalebar = create_figure() - assert_is_none(scalebar.get_length_fraction()) - assert_is_none(scalebar.length_fraction) +def test_scalebar_length_fraction(scalebar): + assert scalebar.get_length_fraction() is None + assert scalebar.length_fraction is None scalebar.set_length_fraction(0.2) - assert_almost_equal(0.2, scalebar.get_length_fraction()) - assert_almost_equal(0.2, scalebar.length_fraction) + assert scalebar.get_length_fraction() == pytest.approx(0.2, abs=1e-2) + assert scalebar.length_fraction == pytest.approx(0.2, abs=1e-2) scalebar.length_fraction = 0.1 - assert_almost_equal(0.1, scalebar.get_length_fraction()) - assert_almost_equal(0.1, scalebar.length_fraction) + assert scalebar.get_length_fraction() == pytest.approx(0.1, abs=1e-2) + assert scalebar.length_fraction == pytest.approx(0.1, abs=1e-2) - assert_raises(ValueError, scalebar.set_length_fraction, 0.0) - assert_raises(ValueError, scalebar.set_length_fraction, 1.1) + with pytest.raises(ValueError): + scalebar.set_length_fraction(0.0) + with pytest.raises(ValueError): + scalebar.set_length_fraction(1.1) -@cleanup -def test_scalebar_height_fraction(): - _fig, _ax, scalebar = create_figure() - assert_is_none(scalebar.get_height_fraction()) - assert_is_none(scalebar.height_fraction) +def test_scalebar_height_fraction(scalebar): + print(scalebar.width_fraction) - scalebar.set_height_fraction(0.2) - assert_almost_equal(0.2, scalebar.get_height_fraction()) - assert_almost_equal(0.2, scalebar.height_fraction) + with pytest.deprecated_call(): + assert scalebar.get_height_fraction() is None - scalebar.height_fraction = 0.1 - assert_almost_equal(0.1, scalebar.get_height_fraction()) - assert_almost_equal(0.1, scalebar.height_fraction) + with pytest.deprecated_call(): + assert scalebar.height_fraction is None - assert_raises(ValueError, scalebar.set_height_fraction, 0.0) - assert_raises(ValueError, scalebar.set_height_fraction, 1.1) + with pytest.deprecated_call(): + scalebar.set_height_fraction(0.2) + assert scalebar.get_height_fraction() == pytest.approx(0.2, abs=1e-2) + assert scalebar.height_fraction == pytest.approx(0.2, abs=1e-2) -@cleanup -def test_scalebar_location(): - _fig, _ax, scalebar = create_figure() + with pytest.deprecated_call(): + scalebar.height_fraction = 0.1 - assert_is_none(scalebar.get_location()) - assert_is_none(scalebar.location) + assert scalebar.get_height_fraction() == pytest.approx(0.1, abs=1e-2) + assert scalebar.height_fraction == pytest.approx(0.1, abs=1e-2) - scalebar.set_location("upper right") - assert_equal(1, scalebar.get_location()) - assert_equal(1, scalebar.location) + with pytest.raises(ValueError), pytest.deprecated_call(): + scalebar.set_height_fraction(0.0) - scalebar.location = "lower left" - assert_equal(3, scalebar.get_location()) - assert_equal(3, scalebar.location) + with pytest.raises(ValueError), pytest.deprecated_call(): + scalebar.set_height_fraction(1.1) -@cleanup -def test_scalebar_pad(): - _fig, _ax, scalebar = create_figure() +def test_scalebar_location(scalebar): + assert scalebar.get_location() is None + assert scalebar.location is None + + scalebar.set_location("upper right") + assert scalebar.get_location() == 1 + assert scalebar.location == 1 + + scalebar.location = "lower left" + assert scalebar.get_location() == 3 + assert scalebar.location == 3 - assert_is_none(scalebar.get_pad()) - assert_is_none(scalebar.pad) - scalebar.set_pad(4) - assert_almost_equal(4, scalebar.get_pad()) - assert_almost_equal(4, scalebar.pad) +def test_scalebar_pad(scalebar): + assert scalebar.get_pad() is None + assert scalebar.pad is None - scalebar.pad = 5 - assert_almost_equal(5, scalebar.get_pad()) - assert_almost_equal(5, scalebar.pad) + scalebar.set_pad(4.0) + assert scalebar.get_pad() == pytest.approx(4.0, abs=1e-2) + assert scalebar.pad == pytest.approx(4.0, abs=1e-2) + scalebar.pad = 5.0 + assert scalebar.get_pad() == pytest.approx(5.0, abs=1e-2) + assert scalebar.pad == pytest.approx(5.0, abs=1e-2) -@cleanup -def test_scalebar_border_pad(): - _fig, _ax, scalebar = create_figure() - assert_is_none(scalebar.get_border_pad()) - assert_is_none(scalebar.border_pad) +def test_scalebar_border_pad(scalebar): + assert scalebar.get_border_pad() is None + assert scalebar.border_pad is None scalebar.set_border_pad(4) - assert_almost_equal(4, scalebar.get_border_pad()) - assert_almost_equal(4, scalebar.border_pad) + assert scalebar.get_border_pad() == pytest.approx(4.0, abs=1e-2) + assert scalebar.border_pad == pytest.approx(4.0, abs=1e-2) scalebar.border_pad = 5 - assert_almost_equal(5, scalebar.get_border_pad()) - assert_almost_equal(5, scalebar.border_pad) + assert scalebar.get_border_pad() == pytest.approx(5.0, abs=1e-2) + assert scalebar.border_pad == pytest.approx(5.0, abs=1e-2) -@cleanup -def test_scalebar_sep(): - _fig, _ax, scalebar = create_figure() - - assert_is_none(scalebar.get_sep()) - assert_is_none(scalebar.sep) +def test_scalebar_sep(scalebar): + assert scalebar.get_sep() is None + assert scalebar.sep is None scalebar.set_sep(4) - assert_almost_equal(4, scalebar.get_sep()) - assert_almost_equal(4, scalebar.sep) + assert scalebar.get_sep() == pytest.approx(4.0, abs=1e-2) + assert scalebar.sep == pytest.approx(4.0, abs=1e-2) scalebar.sep = 5 - assert_almost_equal(5, scalebar.get_sep()) - assert_almost_equal(5, scalebar.sep) + assert scalebar.get_sep() == pytest.approx(5.0, abs=1e-2) + assert scalebar.sep == pytest.approx(5.0, abs=1e-2) -@cleanup -def test_scalebar_frameon(): - _fig, _ax, scalebar = create_figure() - - assert_is_none(scalebar.get_frameon()) - assert_is_none(scalebar.frameon) +def test_scalebar_frameon(scalebar): + assert scalebar.get_frameon() is None + assert scalebar.frameon is None scalebar.set_frameon(True) - assert_true(scalebar.get_frameon()) - assert_true(scalebar.frameon) + assert scalebar.get_frameon() + assert scalebar.frameon scalebar.frameon = False - assert_false(scalebar.get_frameon()) - assert_false(scalebar.frameon) - - -@cleanup -def test_scalebar_font_properties(): - font_settings = dict(family="serif", size=9) - scalebar = ScaleBar(0.5, font_properties=font_settings) - - assert_equal(scalebar.font_properties.get_family(), ["serif"]) - assert_equal(scalebar.font_properties.get_size(), 9) - - -@cleanup -@raises(TypeError) -def test_scalebar_font_properties_invalid_type(): - ScaleBar(0.5, font_properties=2.0) - - -def test_matplotlibrc(): + assert not scalebar.get_frameon() + assert not scalebar.frameon + + +# def test_scalebar_font_properties(scalebar): +# font_settings = dict(family="serif", size=9) +# scalebar = ScaleBar(0.5, font_properties=font_settings) +# +# assert_equal(scalebar.font_properties.get_family(), ["serif"]) +# assert_equal(scalebar.font_properties.get_size(), 9) +# +# +# +# +# @cleanup +# @raises(TypeError) +# def test_scalebar_font_properties_invalid_type(): +# ScaleBar(0.5, font_properties=2.0) + + +def test_matplotlibrc(scalebar): matplotlib.rcParams["scalebar.box_color"] = "r" -@cleanup -def test_scalebar_fixed_value(): - _fig, _ax, scalebar = create_figure() - - assert_is_none(scalebar.get_fixed_value()) - assert_is_none(scalebar.fixed_value) +def test_scalebar_fixed_value(scalebar): + assert scalebar.get_fixed_value() is None + assert scalebar.fixed_value is None scalebar.set_fixed_value(0.2) - assert_almost_equal(0.2, scalebar.get_fixed_value()) - assert_almost_equal(0.2, scalebar.fixed_value) + assert scalebar.get_fixed_value() == pytest.approx(0.2, abs=1e-2) + assert scalebar.fixed_value == pytest.approx(0.2, abs=1e-2) scalebar.fixed_value = 0.1 - assert_almost_equal(0.1, scalebar.get_fixed_value()) - assert_almost_equal(0.1, scalebar.fixed_value) + assert scalebar.get_fixed_value() == pytest.approx(0.1, abs=1e-2) + assert scalebar.fixed_value == pytest.approx(0.1, abs=1e-2) -@cleanup -def test_scalebar_fixed_units(): - _fig, _ax, scalebar = create_figure() - - assert_is_none(scalebar.get_fixed_units()) - assert_is_none(scalebar.fixed_units) +def test_scalebar_fixed_units(scalebar): + assert scalebar.get_fixed_units() is None + assert scalebar.fixed_units is None scalebar.set_fixed_units("m") - assert_equal("m", scalebar.get_fixed_units()) - assert_equal("m", scalebar.fixed_units) + assert scalebar.get_fixed_units() == "m" + assert scalebar.fixed_units == "m" scalebar.fixed_units = "um" - assert_equal("um", scalebar.get_fixed_units()) - assert_equal("um", scalebar.fixed_units) + assert scalebar.get_fixed_units() == "um" + assert scalebar.fixed_units == "um" -@cleanup -def test_custom_label_format(): - _fig, _ax, scalebar = create_figure() +def test_custom_label_format(scalebar): scalebar.dx = 1 scalebar.units = "m" _length, value, units = scalebar._calculate_best_length(10) scale_label = scalebar.label_formatter(value, units) - assert_equal(scale_label, "5 m") + assert scale_label == "5 m" - scalebar.label_formatter = lambda value, unit: "test" + scalebar.label_formatter = lambda *_: "test" scale_label = scalebar.label_formatter(value, units) - assert_equal(scale_label, "test") + assert scale_label == "test" scalebar.label_formatter = lambda value, unit: "{} {}".format(unit, value) scale_label = scalebar.label_formatter(value, units) - assert_equal(scale_label, "m 5") - - -if __name__ == "__main__": - import nose - import sys - - args = ["-s", "--with-doctest"] - argv = sys.argv - argv = argv[:1] + args + argv[1:] - nose.runmodule(argv=argv, exit=False) + assert scale_label == "m 5" From a3593018e47d49b0de93c6d1c3db1d33f960e827 Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Sun, 9 Aug 2020 13:09:30 +0100 Subject: [PATCH 06/19] Move validation of font properties in setter --- matplotlib_scalebar/scalebar.py | 24 ++++++++++----------- matplotlib_scalebar/test_scalebar.py | 32 ++++++++++++++++------------ 2 files changed, 29 insertions(+), 27 deletions(-) diff --git a/matplotlib_scalebar/scalebar.py b/matplotlib_scalebar/scalebar.py index df2a8b2..9ab6c6f 100644 --- a/matplotlib_scalebar/scalebar.py +++ b/matplotlib_scalebar/scalebar.py @@ -300,20 +300,7 @@ def __init__( self.scale_loc = scale_loc self.label_loc = label_loc self.label_formatter = label_formatter - - if font_properties is None: - font_properties = FontProperties() - elif isinstance(font_properties, dict): - font_properties = FontProperties(**font_properties) - elif isinstance(font_properties, str): - font_properties = FontProperties(font_properties) - else: - raise TypeError( - "Unsupported type for `font_properties`. Pass " - "either a dict or a font config pattern as string." - ) self.font_properties = font_properties - self.fixed_value = fixed_value self.fixed_units = fixed_units self.set_animated(animated) @@ -649,6 +636,17 @@ def get_font_properties(self): return self._font_properties def set_font_properties(self, props): + if props is None: + props = FontProperties() + elif isinstance(props, dict): + props = FontProperties(**props) + elif isinstance(props, str): + props = FontProperties(props) + else: + raise ValueError( + "Unsupported `font_properties`. Pass " + "either a dict or a font config pattern as string." + ) self._font_properties = props font_properties = property(get_font_properties, set_font_properties) diff --git a/matplotlib_scalebar/test_scalebar.py b/matplotlib_scalebar/test_scalebar.py index cb809b4..85c6197 100644 --- a/matplotlib_scalebar/test_scalebar.py +++ b/matplotlib_scalebar/test_scalebar.py @@ -9,6 +9,7 @@ matplotlib.use("agg") import matplotlib.pyplot as plt from matplotlib.testing.decorators import cleanup +from matplotlib.font_manager import FontProperties import numpy as np @@ -172,20 +173,23 @@ def test_scalebar_frameon(scalebar): assert not scalebar.frameon -# def test_scalebar_font_properties(scalebar): -# font_settings = dict(family="serif", size=9) -# scalebar = ScaleBar(0.5, font_properties=font_settings) -# -# assert_equal(scalebar.font_properties.get_family(), ["serif"]) -# assert_equal(scalebar.font_properties.get_size(), 9) -# -# -# -# -# @cleanup -# @raises(TypeError) -# def test_scalebar_font_properties_invalid_type(): -# ScaleBar(0.5, font_properties=2.0) +def test_scalebar_font_properties(scalebar): + assert isinstance(scalebar.get_font_properties(), FontProperties) + assert isinstance(scalebar.font_properties, FontProperties) + + scalebar.set_font_properties(dict(family="serif", size=9)) + assert scalebar.font_properties.get_family() == ["serif"] + assert scalebar.font_properties.get_size() == 9 + + scalebar.font_properties = dict(family="sans serif", size=12) + assert scalebar.font_properties.get_family() == ["sans serif"] + assert scalebar.font_properties.get_size() == 12 + + with pytest.raises(ValueError): + scalebar.set_font_properties(2.0) + + with pytest.raises(ValueError): + scalebar.font_properties = 2.0 def test_matplotlibrc(scalebar): From 7b1bdae27aababab1028b3707b1a653fd539d06a Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Sun, 9 Aug 2020 13:09:51 +0100 Subject: [PATCH 07/19] Remove unused code --- matplotlib_scalebar/test_scalebar.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/matplotlib_scalebar/test_scalebar.py b/matplotlib_scalebar/test_scalebar.py index 85c6197..e9aed49 100644 --- a/matplotlib_scalebar/test_scalebar.py +++ b/matplotlib_scalebar/test_scalebar.py @@ -15,16 +15,6 @@ import pytest -# from nose.tools import ( -# assert_equal, -# assert_almost_equal, -# assert_is_none, -# assert_true, -# assert_false, -# assert_raises, -# raises, -# ) - # Local modules. from matplotlib_scalebar.scalebar import ScaleBar From 62d543ad8bb2c0b2a2ff0249a60b3d64abb51375 Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Sun, 9 Aug 2020 13:12:33 +0100 Subject: [PATCH 08/19] Remove reference to nose. Replace with pytest. --- .github/workflows/ci.yml | 4 ++-- requirements-test.txt | 2 +- setup.py | 1 - 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 179baa5..0be5fb0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,7 +35,7 @@ jobs: python -m pip install --upgrade pip codecov pip install --upgrade -e . pip install -r requirements-test.txt - - name: Test with nose - run: nosetests + - name: Test + run: pytest - name: Upload coverage to Codecov uses: codecov/codecov-action@v1 diff --git a/requirements-test.txt b/requirements-test.txt index f3c7e8e..55b033e 100644 --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1 +1 @@ -nose +pytest \ No newline at end of file diff --git a/setup.py b/setup.py index e6affe4..74b98f9 100644 --- a/setup.py +++ b/setup.py @@ -40,6 +40,5 @@ package_data={}, install_requires=["matplotlib"], zip_safe=True, - test_suite="nose.collector", cmdclass=versioneer.get_cmdclass(), ) From 2b9d05b6e278da6ee7ab6db47e25d1efaa5aff8a Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Sun, 9 Aug 2020 13:17:07 +0100 Subject: [PATCH 09/19] Fix matplotlib deprecation warning on add_subplot --- matplotlib_scalebar/test_scalebar.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/matplotlib_scalebar/test_scalebar.py b/matplotlib_scalebar/test_scalebar.py index e9aed49..503c900 100644 --- a/matplotlib_scalebar/test_scalebar.py +++ b/matplotlib_scalebar/test_scalebar.py @@ -25,7 +25,7 @@ @cleanup def scalebar(): fig = plt.figure() - ax = fig.add_subplot("111") + ax = fig.add_subplot(111) data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) ax.imshow(data) From 83f17658d0d1ee092b6e143329498d210f5c894c Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Sat, 22 Aug 2020 17:37:46 +0100 Subject: [PATCH 10/19] Remove print --- matplotlib_scalebar/test_scalebar.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/matplotlib_scalebar/test_scalebar.py b/matplotlib_scalebar/test_scalebar.py index 503c900..7087fc4 100644 --- a/matplotlib_scalebar/test_scalebar.py +++ b/matplotlib_scalebar/test_scalebar.py @@ -71,8 +71,6 @@ def test_scalebar_length_fraction(scalebar): def test_scalebar_height_fraction(scalebar): - print(scalebar.width_fraction) - with pytest.deprecated_call(): assert scalebar.get_height_fraction() is None From 8db11c0042616426f3cbb938dea3bd7746f56348 Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Sat, 22 Aug 2020 18:51:55 +0100 Subject: [PATCH 11/19] Add rotation argument --- matplotlib_scalebar/scalebar.py | 53 ++++++++++++++++++++++------ matplotlib_scalebar/test_scalebar.py | 13 +++++++ 2 files changed, 56 insertions(+), 10 deletions(-) diff --git a/matplotlib_scalebar/scalebar.py b/matplotlib_scalebar/scalebar.py index 9ab6c6f..e84a44c 100644 --- a/matplotlib_scalebar/scalebar.py +++ b/matplotlib_scalebar/scalebar.py @@ -80,6 +80,9 @@ validate_label_loc = ValidateInStrings( "label_loc", ["bottom", "top", "right", "left"], ignorecase=True ) +validate_rotation = ValidateInStrings( + "rotation", ["horizontal", "vertical"], ignorecase=True +) defaultParams.update( { @@ -96,6 +99,7 @@ "scalebar.box_alpha": [1.0, validate_float], "scalebar.scale_loc": ["bottom", validate_scale_loc], "scalebar.label_loc": ["top", validate_label_loc], + "scalebar.rotation": ["horizontal", validate_rotation], } ) @@ -165,6 +169,7 @@ def __init__( fixed_value=None, fixed_units=None, animated=False, + rotation=None, ): """ Creates a new scale bar. @@ -272,6 +277,10 @@ def __init__( :arg animated: animation state (default: ``False``) :type animated: :class`bool` + + :arg rotation: either ``horizontal`` or ``vertical`` + (default: rcParams['scalebar.rotation'] or ``horizontal``) + :type rotation: :class:`str` """ Artist.__init__(self) @@ -304,6 +313,7 @@ def __init__( self.fixed_value = fixed_value self.fixed_units = fixed_units self.set_animated(animated) + self.rotation = rotation def _calculate_best_length(self, length_px): dx = self.dx @@ -372,18 +382,21 @@ def _get_value(attr, default): font_properties = self.font_properties fixed_value = self.fixed_value fixed_units = self.fixed_units or self.units + rotation = _get_value("rotation", "horizontal") + label = self.label - if font_properties is None: - textprops = {"color": color} - else: - textprops = {"color": color, "fontproperties": font_properties} + # Create text properties + textprops = {"color": color, "rotation": rotation} + if font_properties is not None: + textprops["fontproperties"] = font_properties + # Calculate value, units and length ax = self.axes xlim = ax.get_xlim() ylim = ax.get_ylim() - label = self.label + if rotation == "vertical": + xlim, ylim = ylim, xlim - # Calculate value, units and length # Mode 1: Auto if self.fixed_value is None: length_px = abs(xlim[1] - xlim[0]) * length_fraction @@ -400,9 +413,8 @@ def _get_value(attr, default): width_px = abs(ylim[1] - ylim[0]) * width_fraction # Create scale bar - scale_bar_box = AuxTransformBox(ax.transData) - scale_bar_box.add_artist( - Rectangle( + if rotation == "horizontal": + scale_rect = Rectangle( (0, 0), length_px, width_px, @@ -410,7 +422,18 @@ def _get_value(attr, default): facecolor=color, edgecolor="none", ) - ) + else: + scale_rect = Rectangle( + (0, 0), + width_px, + length_px, + fill=True, + facecolor=color, + edgecolor="none", + ) + + scale_bar_box = AuxTransformBox(ax.transData) + scale_bar_box.add_artist(scale_rect) scale_label_box = TextArea( scale_label, minimumdescent=False, textprops=textprops @@ -676,3 +699,13 @@ def set_fixed_units(self, units): self._fixed_units = units fixed_units = property(get_fixed_units, set_fixed_units) + + def get_rotation(self): + return self._rotation + + def set_rotation(self, rotation): + if rotation is not None and rotation not in ["horizontal", "vertical"]: + raise ValueError("Unknown rotation: %s" % rotation) + self._rotation = rotation + + rotation = property(get_rotation, set_rotation) diff --git a/matplotlib_scalebar/test_scalebar.py b/matplotlib_scalebar/test_scalebar.py index 7087fc4..1983a99 100644 --- a/matplotlib_scalebar/test_scalebar.py +++ b/matplotlib_scalebar/test_scalebar.py @@ -225,3 +225,16 @@ def test_custom_label_format(scalebar): scalebar.label_formatter = lambda value, unit: "{} {}".format(unit, value) scale_label = scalebar.label_formatter(value, units) assert scale_label == "m 5" + + +@pytest.mark.parametrize("rotation", ["horizontal", "vertical"]) +def test_rotation(scalebar, rotation): + assert scalebar.get_rotation() is None + assert scalebar.rotation is None + + scalebar.set_rotation(rotation) + assert scalebar.get_rotation() == rotation + assert scalebar.rotation == rotation + + with pytest.raises(ValueError): + scalebar.set_rotation("h") From 7ab567238c00f2ad7a58f15b1f2cf437e1ca9852 Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Sat, 22 Aug 2020 19:01:32 +0100 Subject: [PATCH 12/19] Improve exception message --- matplotlib_scalebar/scalebar.py | 61 +++++++++++++++++++++------------ 1 file changed, 40 insertions(+), 21 deletions(-) diff --git a/matplotlib_scalebar/scalebar.py b/matplotlib_scalebar/scalebar.py index e84a44c..d68c137 100644 --- a/matplotlib_scalebar/scalebar.py +++ b/matplotlib_scalebar/scalebar.py @@ -74,16 +74,19 @@ # Globals and constants variables. # Setup of extra parameters in the matplotlic rc -validate_scale_loc = ValidateInStrings( - "scale_loc", ["bottom", "top", "right", "left"], ignorecase=True +_VALID_SCALE_LOCATIONS = ["bottom", "top", "right", "left"] +_validate_scale_loc = ValidateInStrings( + "scale_loc", _VALID_SCALE_LOCATIONS, ignorecase=True ) -validate_label_loc = ValidateInStrings( - "label_loc", ["bottom", "top", "right", "left"], ignorecase=True -) -validate_rotation = ValidateInStrings( - "rotation", ["horizontal", "vertical"], ignorecase=True + +_VALID_LABEL_LOCATIONS = ["bottom", "top", "right", "left"] +_validate_label_loc = ValidateInStrings( + "label_loc", _VALID_LABEL_LOCATIONS, ignorecase=True ) +_VALID_ROTATIONS = ["horizontal", "vertical"] +_validate_rotation = ValidateInStrings("rotation", _VALID_ROTATIONS, ignorecase=True) + defaultParams.update( { "scalebar.length_fraction": [0.2, validate_float], @@ -97,9 +100,9 @@ "scalebar.color": ["k", validate_color], "scalebar.box_color": ["w", validate_color], "scalebar.box_alpha": [1.0, validate_float], - "scalebar.scale_loc": ["bottom", validate_scale_loc], - "scalebar.label_loc": ["top", validate_label_loc], - "scalebar.rotation": ["horizontal", validate_rotation], + "scalebar.scale_loc": ["bottom", _validate_scale_loc], + "scalebar.label_loc": ["top", _validate_label_loc], + "scalebar.rotation": ["horizontal", _validate_rotation], } ) @@ -499,7 +502,10 @@ def set_dimension(self, dimension): dimension = _DIMENSION_LOOKUP[dimension]() if not isinstance(dimension, _Dimension): - raise ValueError("Unknown dimension: %s" % dimension) + raise ValueError( + f"Unknown dimension: {dimension}. " + f"Known dimensions: {', '.join(_DIMENSION_LOOKUP)}" + ) self._dimension = dimension @@ -510,7 +516,7 @@ def get_units(self): def set_units(self, units): if not self.dimension.is_valid_units(units): - raise ValueError("Invalid unit with dimension") + raise ValueError(f"Invalid unit ({units}) with dimension") self._units = units units = property(get_units, set_units) @@ -569,7 +575,10 @@ def get_location(self): def set_location(self, loc): if isinstance(loc, str): if loc not in self._LOCATIONS: - raise ValueError("Unknown location code: %s" % loc) + raise ValueError( + f"Unknown location: {loc}. " + f"Valid locations: {', '.join(self._LOCATIONS)}" + ) loc = self._LOCATIONS[loc] self._location = loc @@ -639,8 +648,11 @@ def get_scale_loc(self): return self._scale_loc def set_scale_loc(self, loc): - if loc is not None and loc not in ["bottom", "top", "right", "left"]: - raise ValueError("Unknown location: %s" % loc) + if loc is not None and loc not in _VALID_SCALE_LOCATIONS: + raise ValueError( + f"Unknown location: {loc}. " + f"Valid locations: {', '.join(_VALID_SCALE_LOCATIONS)}" + ) self._scale_loc = loc scale_loc = property(get_scale_loc, set_scale_loc) @@ -649,8 +661,12 @@ def get_label_loc(self): return self._label_loc def set_label_loc(self, loc): - if loc is not None and loc not in ["bottom", "top", "right", "left"]: - raise ValueError("Unknown location: %s" % loc) + if loc is not None and loc not in _VALID_LABEL_LOCATIONS: + raise ValueError( + f"Unknown location: {loc}. " + f"Valid locations: {', '.join(_VALID_LABEL_LOCATIONS)}" + ) + self._label_loc = loc label_loc = property(get_label_loc, set_label_loc) @@ -667,8 +683,8 @@ def set_font_properties(self, props): props = FontProperties(props) else: raise ValueError( - "Unsupported `font_properties`. Pass " - "either a dict or a font config pattern as string." + "Unsupported `font_properties`. " + "Pass either a dict or a font config pattern as string." ) self._font_properties = props @@ -704,8 +720,11 @@ def get_rotation(self): return self._rotation def set_rotation(self, rotation): - if rotation is not None and rotation not in ["horizontal", "vertical"]: - raise ValueError("Unknown rotation: %s" % rotation) + if rotation is not None and rotation not in _VALID_ROTATIONS: + raise ValueError( + f"Unknown rotation: {rotation}. " + f"Valid locations: {', '.join(_VALID_ROTATIONS)}" + ) self._rotation = rotation rotation = property(get_rotation, set_rotation) From 55401dcbec8ce1a524f8085ab31ee857f9b00907 Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Sat, 22 Aug 2020 19:02:47 +0100 Subject: [PATCH 13/19] Ensure lower case for rotation and location --- matplotlib_scalebar/scalebar.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/matplotlib_scalebar/scalebar.py b/matplotlib_scalebar/scalebar.py index d68c137..3aadaad 100644 --- a/matplotlib_scalebar/scalebar.py +++ b/matplotlib_scalebar/scalebar.py @@ -372,7 +372,7 @@ def _get_value(attr, default): width_fraction = _get_value("width_fraction", 0.01) location = _get_value("location", "upper right") if isinstance(location, str): - location = self._LOCATIONS[location] + location = self._LOCATIONS[location.lower()] pad = _get_value("pad", 0.2) border_pad = _get_value("border_pad", 0.1) sep = _get_value("sep", 5) @@ -380,12 +380,12 @@ def _get_value(attr, default): color = _get_value("color", "k") box_color = _get_value("box_color", "w") box_alpha = _get_value("box_alpha", 1.0) - scale_loc = _get_value("scale_loc", "bottom") - label_loc = _get_value("label_loc", "top") + scale_loc = _get_value("scale_loc", "bottom").lower() + label_loc = _get_value("label_loc", "top").lower() font_properties = self.font_properties fixed_value = self.fixed_value fixed_units = self.fixed_units or self.units - rotation = _get_value("rotation", "horizontal") + rotation = _get_value("rotation", "horizontal").lower() label = self.label # Create text properties From 6c22a6f65bf4e6f5ce8f4f32128296cfdfa8c599 Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Sat, 22 Aug 2020 19:27:16 +0100 Subject: [PATCH 14/19] Use electron microscopy image for first image. --- README.rst | 2 +- doc/splashscreen.png | Bin 0 -> 169545 bytes doc/splashscreen.py | 24 ++++++++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 doc/splashscreen.png create mode 100644 doc/splashscreen.py diff --git a/README.rst b/README.rst index a5eb97f..5e6f1c3 100644 --- a/README.rst +++ b/README.rst @@ -11,7 +11,7 @@ Provides a new artist for matplotlib to display a scale bar, aka micron bar. It is particularly useful when displaying calibrated images plotted using plt.imshow(...). -.. image:: https://raw.githubusercontent.com/ppinard/matplotlib-scalebar/master/doc/example1.png +.. image:: https://raw.githubusercontent.com/ppinard/matplotlib-scalebar/master/doc/splashscreen.png The artist supports customization either directly from the **ScaleBar** object or from the matplotlibrc. diff --git a/doc/splashscreen.png b/doc/splashscreen.png new file mode 100644 index 0000000000000000000000000000000000000000..e2ec4763cd2b4c766547f7a186d5d79fa166085f GIT binary patch literal 169545 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

jppl&=JMNzF0IutC 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 <~0#CN#4(ii{qRH*z#Vkwl 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 Date: Fri, 1 Jan 2021 12:58:43 +0000 Subject: [PATCH 15/19] Move README to markdown. Add more examples and images. --- README.md | 354 +++++++++++++++++++++++++++++++ README.rst | 237 --------------------- doc/argument_dimension.png | Bin 0 -> 30627 bytes doc/argument_dimension.py | 17 ++ doc/argument_dx.png | Bin 0 -> 30727 bytes doc/argument_dx.py | 17 ++ doc/argument_length_fraction.png | Bin 0 -> 10037 bytes doc/argument_length_fraction.py | 43 ++++ doc/argument_pad.png | Bin 0 -> 30443 bytes doc/argument_pad.py | 19 ++ doc/argument_rotation.png | Bin 0 -> 30830 bytes doc/argument_rotation.py | 25 +++ doc/argument_scale_loc.png | Bin 0 -> 8009 bytes doc/argument_scale_loc.py | 46 ++++ doc/getting_started.png | Bin 0 -> 30727 bytes doc/getting_started.py | 21 ++ doc/nomenclature.png | Bin 0 -> 20473 bytes doc/nomenclature.py | 142 +++++++++++++ doc/splashscreen.png | Bin 169545 -> 168843 bytes doc/splashscreen.py | 4 +- 20 files changed, 687 insertions(+), 238 deletions(-) create mode 100644 README.md delete mode 100644 README.rst create mode 100644 doc/argument_dimension.png create mode 100644 doc/argument_dimension.py create mode 100644 doc/argument_dx.png create mode 100644 doc/argument_dx.py create mode 100644 doc/argument_length_fraction.png create mode 100644 doc/argument_length_fraction.py create mode 100644 doc/argument_pad.png create mode 100644 doc/argument_pad.py create mode 100644 doc/argument_rotation.png create mode 100644 doc/argument_rotation.py create mode 100644 doc/argument_scale_loc.png create mode 100644 doc/argument_scale_loc.py create mode 100644 doc/getting_started.png create mode 100644 doc/getting_started.py create mode 100644 doc/nomenclature.png create mode 100644 doc/nomenclature.py diff --git a/README.md b/README.md new file mode 100644 index 0000000..f5dea35 --- /dev/null +++ b/README.md @@ -0,0 +1,354 @@ +# matplotlib-scalebar + +![CI](https://github.com/ppinard/matplotlib-scalebar/workflows/CI/badge.svg) +![PyPI](https://img.shields.io/pypi/v/matplotlib-scalebar) + +Provides a new artist for [matplotlib](https://matplotlib.org) to display a scale bar, aka micron bar. +It is particularly useful when displaying calibrated images plotted using +`plt.imshow(...)`. + +![Example of scale bar](doc/splashscreen.png) + +The artist supports customization either directly from the **ScaleBar** object or from the matplotlibrc. + +## Installation + +Easiest way to install using `pip`: + +```bash +pip install matplotlib-scalebar +``` + +For development installation from the git repository: + +```bash +git clone git@github.com:ppinard/matplotlib-scalebar.git +pip install -e matplotlib-scalebar +``` + +## Getting started + +There are many ways to customize the scale bar. +Examples and explanations of the arguments of the **ScaleBar** class are given [below](#scalebar-arguments), but here is a quick start guide. + +The constructor arguments *dx* and *units* specify the pixel dimension. +For example `ScaleBar(0.2, 'um')` indicates that each pixel is equal to 0.2 micrometer. +By default, the scale bar uses SI units of length (e.g. m, cm, um, km, etc.). +See examples below for other system of units. + +In this example, we load a sample image from the matplotlib library, create a subplot, plot image, create scale bar and add scale bar as an "artist" of the subplot. + +```python +import numpy as np +import matplotlib.pyplot as plt +import matplotlib.cbook as cbook +from matplotlib_scalebar.scalebar import ScaleBar + +# Load image +with cbook.get_sample_data("s1045.ima.gz") as dfile: + im = np.frombuffer(dfile.read(), np.uint16).reshape((256, 256)) + +# Create subplot +fig, ax = plt.subplots() +ax.axis("off") + +# Plot image +ax.imshow(im, cmap="gray") + +# Create scale bar +scalebar = ScaleBar(0.08, "cm", length_fraction=0.25) +ax.add_artist(scalebar) + +# Show +plt.show() +``` + +![Example of scale bar](doc/getting_started.png) + +## ScaleBar arguments + +Here are arguments of the **ScaleBar** class constructor and examples how to use them. + +```python +scalebar = ScaleBar( + dx, + units="m", + dimension="si-length", + label=None, + length_fraction=None, + height_fraction=None, + width_fraction=None, + location=None, + pad=None, + border_pad=None, + sep=None, + frameon=None, + color=None, + box_color=None, + box_alpha=None, + scale_loc=None, + label_loc=None, + font_properties=None, + label_formatter=None, + scale_formatter=None, + fixed_value=None, + fixed_units=None, + animated=False, + rotation=None, + ) +``` + +Each argument can also be changed afterwards using their respective property. + +```python +scalebar.dx = 2.0 +``` + +The following schematic illustrates the nomenclature used in the definition of the arguments. + +![nomenclature](doc/nomenclature.png) + +### dx (required) + +Size of one pixel in *units* specified by the next argument. + +Set *dx* to 1.0 if the axes image has already been calibrated by setting its *extent*. + +```python +fig, ax = plt.subplots() +ax.axis("off") + +ax.imshow(im, cmap="gray", extent=[0, 20.48, 0, 20.48]) + +scalebar = ScaleBar(1, "cm", length_fraction=0.25) +ax.add_artist(scalebar) +``` + +![dx with extent](doc/argument_dx.png) + +**Special notes for geospatial plots**: +If you are plotting geospatial coordinates (such as scatterplots of the location of structures, [geopandas](http://geopandas.org) geodataframe plots, etc.), *dx* needs to be set differently depending on the coordinate system: + +* For UTM based coordinate system, where the X and Y are in meters, simply set `dx = 1`. +* For WGS or NAD based coordinate system, where X and Y are in latitude (Y) and longitude (X), compute the distance between two points at the latitude (Y) you wish to have the scale represented and are also one full degree of longitude (X) apart, in meters. For example, `dx = great_circle_distance((X, Y), (X + 1, Y))` + +### units + +Units of *dx*. +The units needs to be valid for the specified *dimension*. +Default: `m`. + +### dimension + +Dimension of *dx* and *units*. It can either be equal: + +* `si-length` (default): scale bar showing km, m, cm, etc. +* `imperial-length`: scale bar showing in, ft, yd, mi, etc. +* `si-length-reciprocal`: scale bar showing 1/m, 1/cm, etc. +* `pixel-length`: scale bar showing px, kpx, Mpx, etc. +* `angle`: scale bar showing °, ʹ (minute of arc) or ʹʹ (second of arc) +* a `matplotlib_scalebar.dimension._Dimension` object + +```python +fig, ax = plt.subplots() +ax.axis("off") + +ax.imshow(im, cmap="gray") + +scalebar = ScaleBar(0.0315, "in", dimension="imperial-length", length_fraction=0.25) +ax.add_artist(scalebar) +``` + +![imperial dimension](doc/argument_dimension.png) + +### label + +Optional label associated with the scale bar. +Default: `None`, no label is shown. +The position of the label with respect to the scale bar can be adjusted using *label_loc* argument. + +### length_fraction + +Desired length of the scale bar as a fraction of the subplot's width. +Default: `None`, value from matplotlibrc or `0.2`. +The actual length of the scale bar is automatically determined based on the specified pixel size (*dx* and *units*) and the contraint that the scale value can only take the following numbers: 1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 500 or 750. +If you want a specific value, see [*fixed_value*](#fixed_value) and [*fixed_units*](#fixed_units). + +In the example below, the scale bar for a *length_fraction* of 0.25 and 0.5 is the same because the scale cannot have a value between 2 and 5 mm. + +![length fraction](doc/argument_length_fraction.png) + +### height_fraction + +**Deprecated**, use *width_fraction*. + +### width_fraction + +Width of the scale bar as a fraction of the subplot's height. +Default: `None`, value from matplotlibrc or `0.01`. + +### location + +A location code, same as matplotlib's legend, either: `upper right`, `upper left`, `lower left`, `lower right`, `right`, `center left`, `center right`, `lower center`, `upper center` or `center`. +Default: `None`, value from matplotlibrc or `upper right`. + +### loc + +Same as *location*. + +### pad + +Padding inside the box, as a fraction of the font size. +Default: `None`, value from matplotlibrc or `0.2`. + +### border_pad + +Padding outside the box, fraction of the font size. +Default: `None`, value from matplotlibrc or `0.1`. + +### sep + +Separation in points between the scale bar and scale, and between the scale bar and label. +Default: `None`, value from matplotlibrc or `5`. + +### frameon + +Whether to draw a box behind the scale bar, scale and label. +Default: `None`, value from matplotlibrc or `True`. + +### color + +Color for the scale bar, scale and label. +Default: `None`, value from matplotlibrc or `k` (black). + +### box_color + +Background color of the box. +Default: `None`, value from matplotlibrc or `w` (white). + +### box_alpha + +Transparency of box. +Default: `None`, value from matplotlibrc or `1.0` (opaque). + +### scale_loc + +Location of the scale with respect to the scale bar. +Either `bottom`, `top`, `left`, `right`. +Default: `None`, value from matplotlibrc or `bottom`. + +![scale_loc](doc/argument_scale_loc.png) + +### label_loc + +Location of the label with respect to the scale bar. +Either `bottom`, `top`, `left`, `right`. +Default: `None`, value from matplotlibrc or `top`. + +### font_properties + +Font properties of the scale and label text, specified either as `dict` or `str`. +See [`FontProperties`](https://matplotlib.org/api/font_manager_api.html#matplotlib.font_manager.FontProperties) for the arguments. +Default: `None`, default font properties of matplotlib. + +### label_formatter + +**Deprecated**, use *scale_formatter*. + +### scale_formatter + +Custom function called to format the scale. +Needs to take 2 arguments - the scale value and the unit. +Default: `None` which results in + +```python +scale_formatter = lambda value, unit: f"{value} {unit}" +``` + +### fixed_value + +Value for the scale. +The length of the scale bar is calculated based on the specified pixel size *dx*. +Default: `None`, the value is automatically determined based on *length_fraction*. + +### fixed_units + +Units of the *fixed_value*. +Default: `None`, if *fixed value* is not `None`, the units of *dx* are used. + +### animated + +Animation state. +Default: `False` + +### rotation + +Whether to create a scale bar based on the x-axis (default) or y-axis. +*rotation* can either be `horizontal` or `vertical`. +Note you might have to adjust *scale_loc* and *label_loc* to achieve desired layout. +Default: `None`, value from matplotlibrc or `horizontal`. + +```python +fig, ax = plt.subplots() +ax.axis("off") + +ax.imshow(im, cmap="gray") + +scalebar = ScaleBar( + 0.08, + "cm", + length_fraction=0.25, + rotation="vertical", + scale_loc="right", + border_pad=1, + pad=0.5, +) +ax.add_artist(scalebar) +``` + +![rotation](doc/argument_rotation.png) + +## Release notes + +### 0.6.2 + +* Fix reciprocal unit (#29) + +### 0.6.1 + +* Add notes about for geospatial plots (#20) + +### 0.6.0 + +* Add angular units (#19) +* Add blit support and fix documentation (#22) +* Fix issue with getting the wrong preferred values for the scale bar (#23) +* Package LICENSE file to distribution (#24) + +### 0.5.1 + +* Remove leftover print statement (#18) + +### 0.5.0 + +* Add pixel unit (#12) +* Display micro symbol in text mode (#15) +* Fix error in length of scale bar (#14), the bar was drawn with an edge around it which made it longer than the actual size. + +### 0.4.1 + +* Fix deprecated usage of is_string_like (#11) + +### 0.4.0 + +* Add possibility to specified a fixed value for the scale bar (#9)) + +## Contributors + +@maweigert, @crosbyla, @joschkazj, @AKuederle, @habi, @huangziwei,@SirJohnFranklin, @alexandrejaguar, @parishcm, @wiai, @cosmicshear,@ericore, @seangrogan, @PhilipeRLeal, @din14970 + +## License + +License under the BSD License, compatible with matplotlib. + +Copyright (c) 2015-2021 Philippe Pinard diff --git a/README.rst b/README.rst deleted file mode 100644 index 5e6f1c3..0000000 --- a/README.rst +++ /dev/null @@ -1,237 +0,0 @@ -matplotlib-scalebar -=================== - -.. image:: https://img.shields.io/github/workflow/status/ppinard/matplotlib-scalebar/CI - :alt: GitHub Workflow Status - -.. image:: https://img.shields.io/pypi/v/matplotlib-scalebar - :alt: PyPI - -Provides a new artist for matplotlib to display a scale bar, aka micron bar. -It is particularly useful when displaying calibrated images plotted using -plt.imshow(...). - -.. image:: https://raw.githubusercontent.com/ppinard/matplotlib-scalebar/master/doc/splashscreen.png - -The artist supports customization either directly from the **ScaleBar** object or -from the matplotlibrc. - -Installation ------------- - -Easiest way to install using ``pip``:: - - $ pip install matplotlib-scalebar - -For development installation from the git repository:: - - $ git clone git@github.com:ppinard/matplotlib-scalebar.git - $ pip install -e matplotlib-scalebar - -How to use ----------- - -There are two modes of operation: - -1. Length, value and units of the scale bar are automatically - determined based on the specified pixel size *dx* and - *length_fraction*. - The value will only take the following numbers: - 1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 125, 150, 200, 500 or 750. - -2. The desired value and units are specified by the user - (*fixed_value* and *fixed_units*) and the length is calculated - based on the specified pixel size *dx*. - -The constructor arguments *dx* and *units* specify the pixel dimension. -For example ``scalebar = ScaleBar(0.2, 'um')`` indicates that each pixel is -equal to 0.2 micrometer. -If the the axes image has already been calibrated by setting its ``extent``, -set *dx* to 1.0. - -**Special notes for geospatial plots**: -If you are plotting geospatial coordinates (such as scatterplots of the location of structures, `geopandas `_ geodataframe plots, etc.), ``dx`` needs to be set differently depending on the coordinate system: - -* For UTM based coordinate system, where the X and Y are in meters, simply set ``dx = 1``. -* For WGS or NAD based coordinate system, where X and Y are in latitude (Y) and longitude (X), compute the distance between two points at the latitude (Y) you wish to have the scale represented and are also one full degree of longitude (X) apart, in meters. For example ``dx = great_circle_distance((X, Y), (X + 1, Y))`` - -The system of units (SI, imperial, etc.) is defined by the argument *dimension*. -By default, the scale bar uses SI units of length (e.g. m, cm, um, km, etc.). -See examples below for other system of units. - -Example -------- - -Here is an example how to add a scale bar:: - - >>> import matplotlib.pyplot as plt - >>> import matplotlib.cbook as cbook - >>> from matplotlib_scalebar.scalebar import ScaleBar - >>> plt.figure() - >>> image = plt.imread(cbook.get_sample_data('grace_hopper.png')) - >>> plt.imshow(image) - >>> scalebar = ScaleBar(0.2) # 1 pixel = 0.2 meter - >>> plt.gca().add_artist(scalebar) - >>> plt.show() - -The scale bar also works with reciprocal units,:: - - >>> from matplotlib_scalebar.scalebar import SI_LENGTH_RECIPROCAL - >>> scalebar = ScaleBar(0.2, '1/cm', SI_LENGTH_RECIPROCAL) # 1 pixel = 0.2 1/cm - -imperial units:: - - >>> from matplotlib_scalebar.scalebar import IMPERIAL_LENGTH - >>> scalebar = ScaleBar(0.2, 'ft', IMPERIAL_LENGTH) # 1 pixel = 0.2 feet - -.. image:: https://raw.githubusercontent.com/ppinard/matplotlib-scalebar/master/doc/example2.png - -and system defined by the **Dimension** class. - -ScaleBar arguments ------------------- - -Here are parameters of the **ScaleBar** class constructor. - -* ``dx``: Size of one pixel in *units* specified by the next argument (required). - Set ``dx`` to 1.0 if the axes image has already been calibrated by - setting its ``extent``. -* ``units``: units of *dx* (default: ``m``) -* ``dimension``: dimension of *dx* and *units*. - It can either be equal - - * ``si-length``: scale bar showing km, m, cm, etc. - * ``imperial-length``: scale bar showing in, ft, yd, mi, etc. - * ``si-length-reciprocal``: scale bar showing 1/m, 1/cm, etc. - * ``pixel-length``: scale bar showing px, kpx, Mpx, etc. - * ``angle``: scale bar showing °, ʹ (minute of arc) or ʹʹ (second of arc). - * a ``matplotlib_scalebar.dimension._Dimension`` object - -* ``label``: optional label associated with the scale bar - (default: ``None``, no label is shown) -* ``length_fraction``: length of the scale bar as a fraction of the - axes's width (default: ``rcParams['scalebar.lenght_fraction']`` or ``0.2``) -* ``height_fraction``: height of the scale bar as a fraction of the - axes's height (default: ``rcParams['scalebar.height_fraction']`` or ``0.01``) -* ``location``: a location code (same as legend) - (default: ``rcParams['scalebar.location']`` or ``upper right``) -* ``pad``: fraction of the font size - (default: ``rcParams['scalebar.pad']`` or ``0.2``) -* ``border_pad``: fraction of the font size - (default: ``rcParams['scalebar.border_pad']`` or ``0.1``) -* ``sep``: separation between scale bar and label in points - (default: ``rcParams['scalebar.sep']`` or ``5``) -* ``frameon``: if ``True``, will draw a box around the scale bar and label - (default: ``rcParams['scalebar.frameon']`` or ``True``) -* ``color``: color for the scale bar and label - (default: ``rcParams['scalebar.color']`` or ``k``) -* ``box_color``: color of the box (if *frameon*) - (default: ``rcParams['scalebar.box_color']`` or ``w``) -* ``box_alpha``: transparency of box - (default: ``rcParams['scalebar.box_alpha']`` or ``1.0``) -* ``scale_loc``: either ``bottom``, ``top``, ``left``, ``right`` - (default: ``rcParams['scalebar.scale_loc']`` or ``bottom``) -* ``label_loc``: either ``bottom``, ``top``, ``left``, ``right`` - (default: ``rcParams['scalebar.label_loc']`` or ``top``) -* ``font_properties``: font properties of the label text, specified either as - dict or `fontconfig `_ pattern (XML). -* ``label_formatter``: custom function called to format the scalebar text. - Needs to take 2 arguments - the scale value and the unit. - (default: ``None`` which results in `` ``) -* ``fixed_value``: value for the scale bar. If ``None``, the value is - automatically determined based on *length_fraction*. -* ``fixed_units``: units of the *fixed_value*. If ``None`` and - *fixed_value* is not ``None``, the units of *dx* are used. -* ``animated``: animation state (default: ``False``) - -matplotlibrc parameters ------------------------ - -Here are parameters that can be customized in the matplotlibrc file. - -* ``scalebar.length_fraction``: length of the scale bar as a fraction of the - axes's width (default: ``0.2``) -* ``scalebar.height_fraction``: height of the scale bar as a fraction of the - axes's height (default: ``0.01``) -* ``scalebar.location``: a location code (same as legend) - (default: ``upper right``) -* ``scalebar.pad``: fraction of the font size (default: ``0.2``) -* ``scalebar.border_pad``: fraction of the font size (default: ``0.1``) -* ``scalebar.sep``: separation between scale bar and label in points - (default: ``5``) -* ``scalebar.frameon``: if True, will draw a box around the scale bar - and label (default: ``True``) -* ``scalebar.color``: color for the scale bar and label (default: ``k``) -* ``scalebar.box_color``: color of the box (if *frameon*) (default: ``w``) -* ``scalebar.box_alpha``: transparency of box (default: ``1.0``) -* ``scale_loc``: either ``bottom``, ``top``, ``left``, ``right`` (default: ``bottom``) -* ``label_loc``: either ``bottom``, ``top``, ``left``, ``right`` (default: ``top``) - -Release notes -------------- -0.6.2 -^^^^^ - -* Fix reciprocal unit (`PR#29 `_) - -0.6.1 -^^^^^ - -* Add notes about for geospatial plots (`#20 `_) - -0.6.0 -^^^^^ - -* Add angular units (`#19 `_) -* Add blit support and fix documentation (`PR#22 `_) -* Fix issue with getting the wrong preferred values for the scale bar. (`PR#23 `_) -* Package LICENSE file to distribution. (`PR#24 `_) - -0.5.1 -^^^^^ - -* Remove leftover print statement (`#18 `_) - -0.5.0 -^^^^^ - -* Add pixel unit (`#12 `_) -* Display micro symbol in text mode (`#15 `_) -* Fix error in length of scale bar (`#14 `_). The bar was drawn with an edge around it which made it longer than the actual size. - -0.4.1 -^^^^^ - -* Fix deprecated usage of is_string_like (`#11 `_) - -0.4.0 -^^^^^ - -* Add possibility to specified a fixed value for the scale bar (`#9 `_) - -Contributors ------------- - -`@maweigert `_, -`@crosbyla `_, -`@joschkazj `_, -`@AKuederle `_, -`@habi `_, -`@huangziwei `_, -`@SirJohnFranklin `_, -`@alexandrejaguar `_, -`@parishcm `_ -`@wiai `_, -`@cosmicshear `_, -`@ericore `_, -`@seangrogan `_, -`@PhilipeRLeal `_, -`@din14970 `_ - -License -------- - -License under the BSD License, compatible with matplotlib. - -Copyright (c) 2015-2020 Philippe Pinard - diff --git a/doc/argument_dimension.png b/doc/argument_dimension.png new file mode 100644 index 0000000000000000000000000000000000000000..a0c9d94b489b1542ed1fa6228cc2997227cb0132 GIT binary patch literal 30627 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 N(3*xCuhs56`9H#tWqbet literal 0 HcmV?d00001 diff --git a/doc/argument_dimension.py b/doc/argument_dimension.py new file mode 100644 index 0000000..b4b3d2f --- /dev/null +++ b/doc/argument_dimension.py @@ -0,0 +1,17 @@ +import numpy as np +import matplotlib.pyplot as plt +import matplotlib.cbook as cbook +from matplotlib_scalebar.scalebar import ScaleBar + +with cbook.get_sample_data("s1045.ima.gz") as dfile: + im = np.frombuffer(dfile.read(), np.uint16).reshape((256, 256)) + +fig, ax = plt.subplots() +ax.axis("off") + +ax.imshow(im, cmap="gray") + +scalebar = ScaleBar(0.0315, "in", dimension="imperial-length", length_fraction=0.25) +ax.add_artist(scalebar) + +fig.savefig("argument_dimension.png", dpi=60, bbox_inches="tight") diff --git a/doc/argument_dx.png b/doc/argument_dx.png new file mode 100644 index 0000000000000000000000000000000000000000..25d089e2a18540a3f4e631eaff20ea6e371ae34e GIT binary patch literal 30727 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 C={xTL literal 0 HcmV?d00001 diff --git a/doc/argument_pad.py b/doc/argument_pad.py new file mode 100644 index 0000000..aadd543 --- /dev/null +++ b/doc/argument_pad.py @@ -0,0 +1,19 @@ +import numpy as np +import matplotlib.pyplot as plt +import matplotlib.cbook as cbook +from matplotlib_scalebar.scalebar import ScaleBar + +with cbook.get_sample_data("s1045.ima.gz") as dfile: + im = np.frombuffer(dfile.read(), np.uint16).reshape((256, 256)) + +fig, ax = plt.subplots() +ax.axis("off") + +ax.imshow(im, cmap="gray") + +scalebar = ScaleBar( + 0.08, "cm", pad=1.0, border_pad=1.0, sep=10.0, frameon=True, length_fraction=0.25 +) +ax.add_artist(scalebar) + +fig.savefig("argument_pad.png", dpi=60, bbox_inches="tight") diff --git a/doc/argument_rotation.png b/doc/argument_rotation.png new file mode 100644 index 0000000000000000000000000000000000000000..000b5655b757e89e4fbc68b0d856fc313aaaae05 GIT binary patch literal 30830 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

>gx2xUpMQHHV6D% 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 L4N))EZ65s}08jtF literal 0 HcmV?d00001 diff --git a/doc/argument_rotation.py b/doc/argument_rotation.py new file mode 100644 index 0000000..5f2b244 --- /dev/null +++ b/doc/argument_rotation.py @@ -0,0 +1,25 @@ +import numpy as np +import matplotlib.pyplot as plt +import matplotlib.cbook as cbook +from matplotlib_scalebar.scalebar import ScaleBar + +with cbook.get_sample_data("s1045.ima.gz") as dfile: + im = np.frombuffer(dfile.read(), np.uint16).reshape((256, 256)) + +fig, ax = plt.subplots() +ax.axis("off") + +ax.imshow(im, cmap="gray") + +scalebar = ScaleBar( + 0.08, + "cm", + length_fraction=0.25, + rotation="vertical", + scale_loc="right", + border_pad=1, + pad=0.5, +) +ax.add_artist(scalebar) + +fig.savefig("argument_rotation.png", dpi=60, bbox_inches="tight") diff --git a/doc/argument_scale_loc.png b/doc/argument_scale_loc.png new file mode 100644 index 0000000000000000000000000000000000000000..0e2f72adfc282c0ecbfaa0b7c34371389aef02c2 GIT binary patch literal 8009 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 literal 0 HcmV?d00001 diff --git a/doc/argument_scale_loc.py b/doc/argument_scale_loc.py new file mode 100644 index 0000000..151a227 --- /dev/null +++ b/doc/argument_scale_loc.py @@ -0,0 +1,46 @@ +import matplotlib.pyplot as plt +from matplotlib_scalebar.scalebar import ScaleBar + +fig, ax = plt.subplots(figsize=(3, 2.8)) +ax.axis("off") + +scalebar = ScaleBar( + 1, + "cm", + length_fraction=0.75, + width_fraction=0.05, + scale_loc="bottom", + label="scale_loc=bottom", + location="upper center", + box_color="0.8", + pad=0.5, +) +ax.add_artist(scalebar) + +scalebar = ScaleBar( + 1, + "cm", + length_fraction=0.75, + width_fraction=0.05, + scale_loc="right", + label="scale_loc=right", + location="center", + box_color="0.8", + pad=0.5, +) +ax.add_artist(scalebar) + +scalebar = ScaleBar( + 1, + "cm", + length_fraction=0.75, + width_fraction=0.05, + scale_loc="top", + label="scale_loc=top", + location="lower center", + box_color="0.8", + pad=0.5, +) +ax.add_artist(scalebar) + +fig.savefig("argument_scale_loc.png", dpi=100, bbox_inches="tight") diff --git a/doc/getting_started.png b/doc/getting_started.png new file mode 100644 index 0000000000000000000000000000000000000000..25d089e2a18540a3f4e631eaff20ea6e371ae34e GIT binary patch literal 30727 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 l{O|upxc_foMmH}g`gMrzLw`d7zJ`y|)84C", "connectionstyle": "arc3,rad=0.1", "lw": 3}, + fontsize=20, + zorder=7, +) +ax1.annotate( + "scale bar", + (0.42, 0.5), + (0.65, 0.5), + arrowprops={"arrowstyle": "->", "connectionstyle": "arc3,rad=0.0", "lw": 3}, + fontsize=20, + zorder=7, +) +ax1.annotate( + "scale", + (0.4, 0.42), + (0.65, 0.35), + arrowprops={"arrowstyle": "->", "connectionstyle": "arc3,rad=-0.1", "lw": 3}, + fontsize=20, + zorder=7, +) +ax1.annotate( + "box", + (0.3, 0.75), + (0.4, 0.9), + arrowprops={"arrowstyle": "->", "connectionstyle": "arc3,rad=0.1", "lw": 3}, + fontsize=20, + zorder=7, +) + +# Fractions +patch = FancyArrowPatch( + (0.19, 0.3), (0.405, 0.3), arrowstyle="|-|,widthA=6,widthB=6", zorder=7, lw=2 +) +ax2.add_patch(patch) +ax2.annotate( + "length", + (0.3, 0.25), + (0.5, 0.05), + arrowprops={"arrowstyle": "->", "connectionstyle": "arc3,rad=-0.3", "lw": 3}, + fontsize=20, + zorder=7, +) + +patch = FancyArrowPatch( + (0.45, 0.46), (0.45, 0.54), arrowstyle="|-|,widthA=6,widthB=6", zorder=7, lw=2 +) +ax2.add_patch(patch) +ax2.annotate( + "width", + (0.5, 0.5), + (0.65, 0.5), + arrowprops={"arrowstyle": "->", "connectionstyle": "arc3", "lw": 3}, + fontsize=20, + zorder=7, +) + +# Pad +patch = FancyArrowPatch( + (0.45, 0.44), (0.45, 0.485), arrowstyle="|-|,widthA=6,widthB=6", zorder=7, lw=2 +) +ax3.add_patch(patch) +patch = FancyArrowPatch( + (0.45, 0.52), (0.45, 0.565), arrowstyle="|-|,widthA=6,widthB=6", zorder=7, lw=2 +) +ax3.add_patch(patch) +ax3.annotate( + "sep", + (0.47, 0.465), + (0.65, 0.5), + arrowprops={"arrowstyle": "->", "connectionstyle": "arc3,rad=-0.1", "lw": 3}, + fontsize=20, + zorder=7, +) +ax3.annotate( + "sep", + (0.47, 0.545), + (0.65, 0.5), + arrowprops={"arrowstyle": "->", "connectionstyle": "arc3,rad=0.1", "lw": 3}, + fontsize=20, + zorder=7, +) + +patch = FancyArrowPatch( + (0.0, 0.1), (0.065, 0.1), arrowstyle="|-|,widthA=6,widthB=6", zorder=7, lw=2 +) +ax3.add_patch(patch) +ax3.annotate( + "border pad", + (0.08, 0.1), + (0.2, 0.05), + arrowprops={"arrowstyle": "->", "connectionstyle": "arc3", "lw": 3}, + fontsize=20, + zorder=7, +) + +patch = FancyArrowPatch( + (0.065, 0.9), (0.19, 0.9), arrowstyle="|-|,widthA=6,widthB=6", zorder=7, lw=2 +) +ax3.add_patch(patch) +ax3.annotate( + "pad", + (0.22, 0.9), + (0.35, 0.9), + arrowprops={"arrowstyle": "->", "connectionstyle": "arc3", "lw": 3}, + fontsize=20, + zorder=7, +) + +plt.tight_layout(pad=2) + +fig.savefig("nomenclature.png", dpi=60) diff --git a/doc/splashscreen.png b/doc/splashscreen.png index e2ec4763cd2b4c766547f7a186d5d79fa166085f..a85790277ac7c582b4764eb690f4e81b92ab2c95 100644 GIT binary patch delta 39423 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 delta 40098 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 diff --git a/doc/splashscreen.py b/doc/splashscreen.py index 047b869..694f56a 100644 --- a/doc/splashscreen.py +++ b/doc/splashscreen.py @@ -15,7 +15,9 @@ ax.imshow(im, "gray") # According to Wikipedia, "the bean shaped grain in the bottom left corner is about 50 μm long." -scalebar = ScaleBar(50 / 37, "um", location="lower right", width_fraction=0.02) +scalebar = ScaleBar( + 50 / 37, "um", location="lower right", width_fraction=0.02, border_pad=1, pad=0.5 +) ax.add_artist(scalebar) ax.xaxis.set_visible(False) From 4f736ab0ec13ab7b8f4dea97f7aa078e963f7332 Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Fri, 1 Jan 2021 12:59:06 +0000 Subject: [PATCH 16/19] Rename label_formatter to scale_formatter. --- matplotlib_scalebar/scalebar.py | 50 ++++++++++++++++++++-------- matplotlib_scalebar/test_scalebar.py | 32 +++++++++++++----- 2 files changed, 59 insertions(+), 23 deletions(-) diff --git a/matplotlib_scalebar/scalebar.py b/matplotlib_scalebar/scalebar.py index 3aadaad..21d66e6 100644 --- a/matplotlib_scalebar/scalebar.py +++ b/matplotlib_scalebar/scalebar.py @@ -169,6 +169,7 @@ def __init__( label_loc=None, font_properties=None, label_formatter=None, + scale_formatter=None, fixed_value=None, fixed_units=None, animated=False, @@ -265,10 +266,10 @@ def __init__( :type font_properties: :class:`matplotlib.font_manager.FontProperties`, :class:`str` or :class:`dict` - :arg label_formatter: function used to format the label. Needs to take + :arg scale_formatter: function used to format the label. Needs to take the value (float) and the unit (str) as input and return the label string. - :type label_formatter: :class:`func` + :type scale_formatter: :class:`func` :arg fixed_value: value for the scale bar. If ``None``, the value is automatically determined based on *length_fraction*. @@ -295,6 +296,13 @@ def __init__( ) width_fraction = width_fraction or height_fraction + if label_formatter is not None: + warnings.warn( + "The label_formatter argument was deprecated. Use scale_formatter instead.", + DeprecationWarning, + ) + scale_formatter = scale_formatter or label_formatter + self.dx = dx self.dimension = dimension # Should be initialize before units self.units = units @@ -311,7 +319,7 @@ def __init__( self.box_alpha = box_alpha self.scale_loc = scale_loc self.label_loc = label_loc - self.label_formatter = label_formatter + self.scale_formatter = scale_formatter self.font_properties = font_properties self.fixed_value = fixed_value self.fixed_units = fixed_units @@ -411,7 +419,7 @@ def _get_value(attr, default): units = fixed_units length_px = self._calculate_exact_length(value, units) - scale_label = self.label_formatter(value, self.dimension.to_latex(units)) + scale_text = self.scale_formatter(value, self.dimension.to_latex(units)) width_px = abs(ylim[1] - ylim[0]) * width_fraction @@ -438,14 +446,12 @@ def _get_value(attr, default): scale_bar_box = AuxTransformBox(ax.transData) scale_bar_box.add_artist(scale_rect) - scale_label_box = TextArea( - scale_label, minimumdescent=False, textprops=textprops - ) + scale_text_box = TextArea(scale_text, minimumdescent=False, textprops=textprops) if scale_loc in ["bottom", "right"]: - children = [scale_bar_box, scale_label_box] + children = [scale_bar_box, scale_text_box] else: - children = [scale_label_box, scale_bar_box] + children = [scale_text_box, scale_bar_box] if scale_loc in ["bottom", "top"]: Packer = VPacker @@ -690,13 +696,29 @@ def set_font_properties(self, props): font_properties = property(get_font_properties, set_font_properties) - def get_label_formatter(self): - if self._label_formatter is None: + def get_scale_formatter(self): + if self._scale_formatter is None: return self.dimension.create_label - return self._label_formatter + return self._scale_formatter + + def set_scale_formatter(self, scale_formatter): + self._scale_formatter = scale_formatter + + scale_formatter = property(get_scale_formatter, set_scale_formatter) - def set_label_formatter(self, label_formatter): - self._label_formatter = label_formatter + def get_label_formatter(self): + warnings.warn( + "The get_label_formatter method is deprecated. Use get_scale_formatter instead.", + DeprecationWarning, + ) + return self.scale_formatter + + def set_label_formatter(self, scale_formatter): + warnings.warn( + "The set_label_formatter method is deprecated. Use set_scale_formatter instead.", + DeprecationWarning, + ) + self.scale_formatter = scale_formatter label_formatter = property(get_label_formatter, set_label_formatter) diff --git a/matplotlib_scalebar/test_scalebar.py b/matplotlib_scalebar/test_scalebar.py index 1983a99..4f5dadf 100644 --- a/matplotlib_scalebar/test_scalebar.py +++ b/matplotlib_scalebar/test_scalebar.py @@ -210,21 +210,35 @@ def test_scalebar_fixed_units(scalebar): assert scalebar.fixed_units == "um" -def test_custom_label_format(scalebar): +def test_scale_formatter(scalebar): scalebar.dx = 1 scalebar.units = "m" _length, value, units = scalebar._calculate_best_length(10) - scale_label = scalebar.label_formatter(value, units) - assert scale_label == "5 m" + assert scalebar.scale_formatter(value, units) == "5 m" - scalebar.label_formatter = lambda *_: "test" - scale_label = scalebar.label_formatter(value, units) - assert scale_label == "test" + scalebar.scale_formatter = lambda *_: "test" + assert scalebar.scale_formatter(value, units) == "test" - scalebar.label_formatter = lambda value, unit: "{} {}".format(unit, value) - scale_label = scalebar.label_formatter(value, units) - assert scale_label == "m 5" + scalebar.scale_formatter = lambda value, unit: "{} {}".format(unit, value) + assert scalebar.scale_formatter(value, units) == "m 5" + + +def test_label_formatter(scalebar): + scalebar.dx = 1 + scalebar.units = "m" + _length, value, units = scalebar._calculate_best_length(10) + + with pytest.deprecated_call(): + assert scalebar.label_formatter(value, units) == "5 m" + + with pytest.deprecated_call(): + scalebar.label_formatter = lambda *_: "test" + assert scalebar.label_formatter(value, units) == "test" + + with pytest.deprecated_call(): + scalebar.label_formatter = lambda value, unit: "{} {}".format(unit, value) + assert scalebar.label_formatter(value, units) == "m 5" @pytest.mark.parametrize("rotation", ["horizontal", "vertical"]) From 09e5c78e63cf4ed60d3dffd429415860cd199f3d Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Fri, 1 Jan 2021 13:07:49 +0000 Subject: [PATCH 17/19] Add alias loc for location --- README.md | 2 +- matplotlib_scalebar/scalebar.py | 35 +++++++++++++++++++++------- matplotlib_scalebar/test_scalebar.py | 27 +++++++++++++++++++++ 3 files changed, 54 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index f5dea35..36356b2 100644 --- a/README.md +++ b/README.md @@ -194,7 +194,7 @@ Default: `None`, value from matplotlibrc or `upper right`. ### loc -Same as *location*. +Alias for *location*. ### pad diff --git a/matplotlib_scalebar/scalebar.py b/matplotlib_scalebar/scalebar.py index 21d66e6..801646d 100644 --- a/matplotlib_scalebar/scalebar.py +++ b/matplotlib_scalebar/scalebar.py @@ -158,6 +158,7 @@ def __init__( height_fraction=None, width_fraction=None, location=None, + loc=None, pad=None, border_pad=None, sep=None, @@ -223,6 +224,9 @@ def __init__( :arg location: a location code (same as legend) (default: rcParams['scalebar.location'] or ``upper right``) :type location: :class:`str` + + :arg loc: alias for location + :type loc: :class:`str` :arg pad: fraction of the font size (default: rcParams['scalebar.pad'] or ``0.2``) @@ -303,13 +307,18 @@ def __init__( ) scale_formatter = scale_formatter or label_formatter + if loc is not None and self._convert_location(loc) != self._convert_location( + location + ): + raise ValueError("loc and location are specified and not equal") + self.dx = dx self.dimension = dimension # Should be initialize before units self.units = units self.label = label self.length_fraction = length_fraction self.width_fraction = width_fraction - self.location = location + self.location = location or loc self.pad = pad self.border_pad = border_pad self.sep = sep @@ -575,21 +584,29 @@ def set_height_fraction(self, fraction): height_fraction = property(get_height_fraction, set_height_fraction) - def get_location(self): - return self._location - - def set_location(self, loc): + @classmethod + def _convert_location(cls, loc): if isinstance(loc, str): - if loc not in self._LOCATIONS: + if loc not in cls._LOCATIONS: raise ValueError( f"Unknown location: {loc}. " - f"Valid locations: {', '.join(self._LOCATIONS)}" + f"Valid locations: {', '.join(cls._LOCATIONS)}" ) - loc = self._LOCATIONS[loc] - self._location = loc + loc = cls._LOCATIONS[loc] + return loc + + def get_location(self): + return self._location + + def set_location(self, loc): + self._location = self._convert_location(loc) location = property(get_location, set_location) + get_loc = get_location + set_loc = set_location + loc = location + def get_pad(self): return self._pad diff --git a/matplotlib_scalebar/test_scalebar.py b/matplotlib_scalebar/test_scalebar.py index 4f5dadf..2642cda 100644 --- a/matplotlib_scalebar/test_scalebar.py +++ b/matplotlib_scalebar/test_scalebar.py @@ -109,6 +109,33 @@ def test_scalebar_location(scalebar): assert scalebar.location == 3 +def test_scalebar_loc(scalebar): + assert scalebar.get_loc() is None + assert scalebar.loc is None + + scalebar.set_location("upper right") + assert scalebar.get_loc() == 1 + assert scalebar.loc == 1 + + scalebar.location = "lower left" + assert scalebar.get_loc() == 3 + assert scalebar.loc == 3 + + scalebar.set_loc("lower right") + assert scalebar.get_loc() == 4 + assert scalebar.loc == 4 + + scalebar.location = "upper left" + assert scalebar.get_loc() == 2 + assert scalebar.loc == 2 + + with pytest.raises(ValueError): + ScaleBar(1.0, loc="upper right", location="upper left") + + with pytest.raises(ValueError): + ScaleBar(1.0, loc="upper right", location=2) + + def test_scalebar_pad(scalebar): assert scalebar.get_pad() is None assert scalebar.pad is None From 46eec313dd890c812447e571cb7e75e03bd2f0ae Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Fri, 1 Jan 2021 13:11:05 +0000 Subject: [PATCH 18/19] Fix setup --- setup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 74b98f9..450c0a4 100644 --- a/setup.py +++ b/setup.py @@ -13,7 +13,7 @@ BASEDIR = Path(__file__).parent.resolve() # Get the long description from the relevant file -with open(BASEDIR.joinpath("README.rst"), "r") as f: +with open(BASEDIR.joinpath("README.md"), "r") as f: long_description = f.read() setup( @@ -21,6 +21,7 @@ version=versioneer.get_version(), description="Artist for matplotlib to display a scale bar", long_description=long_description, + long_description_content_type="text/markdown", author="Philippe Pinard", author_email="philippe.pinard@gmail.com", maintainer="Philippe Pinard", From 9b12df673596985329bfdcc6d89804cd9deba931 Mon Sep 17 00:00:00 2001 From: Philippe Pinard Date: Fri, 1 Jan 2021 13:15:28 +0000 Subject: [PATCH 19/19] Add release notes for development --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 36356b2..bf0196d 100644 --- a/README.md +++ b/README.md @@ -310,6 +310,14 @@ ax.add_artist(scalebar) ## Release notes +### dev + +* Add rotation to display scale bar for the y-axis (#30) +* New documentation (#32) +* Deprecate argument *height_fraction*, replaced by *width_fraction* (#32) +* Deprecate argument *label_formatter*, replaced by *scale_formatter* (#32) +* Add alias *loc* for *location* (#32) + ### 0.6.2 * Fix reciprocal unit (#29)