{ "info": { "author": "Philippe Pinard", "author_email": "philippe.pinard@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Topic :: Scientific/Engineering :: Visualization" ], "description": "# matplotlib-scalebar\n\n![CI](https://github.com/ppinard/matplotlib-scalebar/workflows/CI/badge.svg)\n![PyPI](https://img.shields.io/pypi/v/matplotlib-scalebar)\n\nProvides a new artist for [matplotlib](https://matplotlib.org) to display a scale bar, aka micron bar.\nIt is particularly useful when displaying calibrated images plotted using\n`plt.imshow(...)`.\n\n![Example of scale bar](doc/splashscreen.png)\n\nThe artist supports customization either directly from the **ScaleBar** object or from the matplotlibrc.\n\n## Installation\n\nEasiest way to install using `pip`:\n\n```bash\npip install matplotlib-scalebar\n```\n\nFor development installation from the git repository:\n\n```bash\ngit clone git@github.com:ppinard/matplotlib-scalebar.git\npip install -e matplotlib-scalebar\n```\n\n## Getting started\n\nThere are many ways to customize the scale bar.\nExamples and explanations of the arguments of the **ScaleBar** class are given [below](#scalebar-arguments), but here is a quick start guide.\n\nThe constructor arguments *dx* and *units* specify the pixel dimension.\nFor example `ScaleBar(0.2, 'um')` indicates that each pixel is equal to 0.2 micrometer.\nBy default, the scale bar uses SI units of length (e.g. m, cm, um, km, etc.).\nSee examples below for other system of units.\n\nIn 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.\n\n```python\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport matplotlib.cbook as cbook\nfrom matplotlib_scalebar.scalebar import ScaleBar\n\n# Load image\nwith cbook.get_sample_data(\"s1045.ima.gz\") as dfile:\n im = np.frombuffer(dfile.read(), np.uint16).reshape((256, 256))\n\n# Create subplot\nfig, ax = plt.subplots()\nax.axis(\"off\")\n\n# Plot image\nax.imshow(im, cmap=\"gray\")\n\n# Create scale bar\nscalebar = ScaleBar(0.08, \"cm\", length_fraction=0.25)\nax.add_artist(scalebar)\n\n# Show\nplt.show()\n```\n\n![Example of scale bar](doc/getting_started.png)\n\n## ScaleBar arguments\n\nHere are arguments of the **ScaleBar** class constructor and examples how to use them.\n\n```python\nscalebar = ScaleBar(\n dx,\n units=\"m\",\n dimension=\"si-length\",\n label=None,\n length_fraction=None,\n height_fraction=None,\n width_fraction=None,\n location=None,\n pad=None,\n border_pad=None,\n sep=None,\n frameon=None,\n color=None,\n box_color=None,\n box_alpha=None,\n scale_loc=None,\n label_loc=None,\n font_properties=None,\n label_formatter=None,\n scale_formatter=None,\n fixed_value=None,\n fixed_units=None,\n animated=False,\n rotation=None,\n )\n```\n\nEach argument can also be changed afterwards using their respective property.\n\n```python\nscalebar.dx = 2.0\n```\n\nThe following schematic illustrates the nomenclature used in the definition of the arguments.\n\n![nomenclature](doc/nomenclature.png)\n\n### dx (required)\n\nSize of one pixel in *units* specified by the next argument.\n\nSet *dx* to 1.0 if the axes image has already been calibrated by setting its *extent*.\n\n```python\nfig, ax = plt.subplots()\nax.axis(\"off\")\n\nax.imshow(im, cmap=\"gray\", extent=[0, 20.48, 0, 20.48])\n\nscalebar = ScaleBar(1, \"cm\", length_fraction=0.25)\nax.add_artist(scalebar)\n```\n\n![dx with extent](doc/argument_dx.png)\n\n**Special notes for geospatial plots**:\nIf 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:\n\n* For UTM based coordinate system, where the X and Y are in meters, simply set `dx = 1`.\n* 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))`\n\n### units\n\nUnits of *dx*.\nThe units needs to be valid for the specified *dimension*.\nDefault: `m`.\n\n### dimension\n\nDimension of *dx* and *units*. It can either be equal:\n\n* `si-length` (default): scale bar showing km, m, cm, etc.\n* `imperial-length`: scale bar showing in, ft, yd, mi, etc.\n* `si-length-reciprocal`: scale bar showing 1/m, 1/cm, etc.\n* `pixel-length`: scale bar showing px, kpx, Mpx, etc.\n* `angle`: scale bar showing \u00b0, \u02b9 (minute of arc) or \u02b9\u02b9 (second of arc)\n* a `matplotlib_scalebar.dimension._Dimension` object\n\n```python\nfig, ax = plt.subplots()\nax.axis(\"off\")\n\nax.imshow(im, cmap=\"gray\")\n\nscalebar = ScaleBar(0.0315, \"in\", dimension=\"imperial-length\", length_fraction=0.25)\nax.add_artist(scalebar)\n```\n\n![imperial dimension](doc/argument_dimension.png)\n\n### label\n\nOptional label associated with the scale bar.\nDefault: `None`, no label is shown.\nThe position of the label with respect to the scale bar can be adjusted using *label_loc* argument.\n\n### length_fraction\n\nDesired length of the scale bar as a fraction of the subplot's width.\nDefault: `None`, value from matplotlibrc or `0.2`.\nThe 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.\nIf you want a specific value, see [*fixed_value*](#fixed_value) and [*fixed_units*](#fixed_units).\n\nIn 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.\n\n![length fraction](doc/argument_length_fraction.png)\n\n### height_fraction\n\n**Deprecated**, use *width_fraction*.\n\n### width_fraction\n\nWidth of the scale bar as a fraction of the subplot's height.\nDefault: `None`, value from matplotlibrc or `0.01`.\n\n### location\n\nA 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`.\nDefault: `None`, value from matplotlibrc or `upper right`.\n\n### loc\n\nAlias for *location*.\n\n### pad\n\nPadding inside the box, as a fraction of the font size.\nDefault: `None`, value from matplotlibrc or `0.2`.\n\n### border_pad\n\nPadding outside the box, fraction of the font size.\nDefault: `None`, value from matplotlibrc or `0.1`.\n\n### sep\n\nSeparation in points between the scale bar and scale, and between the scale bar and label.\nDefault: `None`, value from matplotlibrc or `5`.\n\n### frameon\n\nWhether to draw a box behind the scale bar, scale and label.\nDefault: `None`, value from matplotlibrc or `True`.\n\n### color\n\nColor for the scale bar, scale and label.\nDefault: `None`, value from matplotlibrc or `k` (black).\n\n### box_color\n\nBackground color of the box.\nDefault: `None`, value from matplotlibrc or `w` (white).\n\n### box_alpha\n\nTransparency of box.\nDefault: `None`, value from matplotlibrc or `1.0` (opaque).\n\n### scale_loc\n\nLocation of the scale with respect to the scale bar.\nEither `bottom`, `top`, `left`, `right`, `none`.\nDefault: `None`, value from matplotlibrc or `bottom`.\nIf `\"none\"`, no scale is shown.\n\n![scale_loc](doc/argument_scale_loc.png)\n\n### label_loc\n\nLocation of the label with respect to the scale bar.\nEither `bottom`, `top`, `left`, `right`, `none`.\nDefault: `None`, value from matplotlibrc or `top`.\nIf `\"none\"`, no label is shown.\n\n### font_properties\n\nFont properties of the scale and label text, specified either as `dict` or `str`.\nSee [`FontProperties`](https://matplotlib.org/api/font_manager_api.html#matplotlib.font_manager.FontProperties) for the arguments.\nDefault: `None`, default font properties of matplotlib.\n\n### label_formatter\n\n**Deprecated**, use *scale_formatter*.\n\n### scale_formatter\n\nCustom function called to format the scale.\nNeeds to take 2 arguments - the scale value and the unit.\nDefault: `None` which results in\n\n```python\nscale_formatter = lambda value, unit: f\"{value} {unit}\"\n```\n\n### fixed_value\n\nValue for the scale.\nThe length of the scale bar is calculated based on the specified pixel size *dx*.\nDefault: `None`, the value is automatically determined based on *length_fraction*.\n\n### fixed_units\n\nUnits of the *fixed_value*.\nDefault: `None`, if *fixed value* is not `None`, the units of *dx* are used.\n\n### animated\n\nAnimation state.\nDefault: `False`\n\n### rotation\n\nWhether to create a scale bar based on the x-axis (default) or y-axis.\n*rotation* can either be `horizontal` or `vertical`.\nNote you might have to adjust *scale_loc* and *label_loc* to achieve desired layout.\nDefault: `None`, value from matplotlibrc or `horizontal`.\n\n```python\nfig, ax = plt.subplots()\nax.axis(\"off\")\n\nax.imshow(im, cmap=\"gray\")\n\nscalebar = ScaleBar(\n 0.08,\n \"cm\",\n length_fraction=0.25,\n rotation=\"vertical\",\n scale_loc=\"right\",\n border_pad=1,\n pad=0.5,\n)\nax.add_artist(scalebar)\n```\n\n![rotation](doc/argument_rotation.png)\n\n## Release notes\n\n### 0.8.1\n\n* Remove useless shebangs ([#47][i47])\n* Correct License trove classifier ([#48][i48])\n\n### 0.8.0\n\n* Fix missing `_all_deprecated` in future matplotlib (> 3.5) ([#44][i44])\n* Add ability to hide scale and label ([#41][i41])\n\n### 0.7.2\n\n* Fix deprecation warning in matplotlib >= 3.4 of `minimumdescent` ([#36][i36])\n\n### 0.7.1\n\n* Fix scalebar location validation from rcParams ([#35](i35))\n\n### 0.7.0\n\n* Add rotation to display scale bar for the y-axis ([#30][i30])\n* New documentation ([#32][i32])\n* Deprecate argument *height_fraction*, replaced by *width_fraction* ([#32][i32])\n* Deprecate argument *label_formatter*, replaced by *scale_formatter* ([#32][i32])\n* Add alias *loc* for *location* ([#32][i32])\n* Fix deprecation warning in matplotlib >= 3.3 of `validate_legend_loc` ([#33][i33])\n\n### 0.6.2\n\n* Fix reciprocal unit ([#29][i29])\n\n### 0.6.1\n\n* Add notes about for geospatial plots ([#20][i20])\n\n### 0.6.0\n\n* Add angular units ([#19][i19])\n* Add blit support and fix documentation ([#22][i22])\n* Fix issue with getting the wrong preferred values for the scale bar ([#23][i23])\n* Package LICENSE file to distribution ([#24][i24])\n\n### 0.5.1\n\n* Remove leftover print statement ([#18][i18])\n\n### 0.5.0\n\n* Add pixel unit ([#12][i12])\n* Display micro symbol in text mode ([#15][i15])\n* Fix error in length of scale bar; the bar was drawn with an edge around it which made it longer than the actual size ([#14][i14])\n\n### 0.4.1\n\n* Fix deprecated usage of is_string_like ([#11][i11])\n\n### 0.4.0\n\n* Add possibility to specified a fixed value for the scale bar ([#9][i9])\n\n## Contributors\n\n[@maweigert](https://github.com/maweigert),\n[@crosbyla](https://github.com/crosbyla),\n[@joschkazj](https://github.com/joschkazj),\n[@AKuederle](https://github.com/AKuederle),\n[@habi](https://github.com/habi),\n[@huangziwei](https://github.com/huangziwei),\n[@SirJohnFranklin](https://github.com/SirJohnFranklin),\n[@alexandrejaguar](https://github.com/alexandrejaguar),\n[@parishcm](https://github.com/parishcm),\n[@wiai](https://github.com/wiai),\n[@cosmicshear](https://github.com/cosmicshear),\n[@ericore](https://github.com/ericore),\n[@seangrogan](https://github.com/seangrogan),\n[@PhilipeRLeal](https://github.com/PhilipeRLeal),\n[@din14970](https://github.com/din14970),\n[@SarthakJariwala](https://github.com/SarthakJariwala),\n[@k1moradi](https://github.com/k1moradi),\n[@anntzer](https://github.com/anntzer),\n[@bugalo](https://github.com/bugalo),\n[@musicinmybrain](https://github.com/musicinmybrain)\n\n## License\n\nLicense under the BSD License, compatible with matplotlib.\n\nCopyright (c) 2015-2022 Philippe Pinard\n\n[i9]: https://github.com/ppinard/matplotlib-scalebar/issues/9\n[i11]: https://github.com/ppinard/matplotlib-scalebar/issues/11\n[i12]: https://github.com/ppinard/matplotlib-scalebar/issues/12\n[i14]: https://github.com/ppinard/matplotlib-scalebar/issues/14\n[i15]: https://github.com/ppinard/matplotlib-scalebar/issues/15\n[i18]: https://github.com/ppinard/matplotlib-scalebar/issues/18\n[i19]: https://github.com/ppinard/matplotlib-scalebar/issues/19\n[i20]: https://github.com/ppinard/matplotlib-scalebar/issues/20\n[i22]: https://github.com/ppinard/matplotlib-scalebar/issues/22\n[i23]: https://github.com/ppinard/matplotlib-scalebar/issues/23\n[i24]: https://github.com/ppinard/matplotlib-scalebar/issues/24\n[i29]: https://github.com/ppinard/matplotlib-scalebar/issues/29\n[i30]: https://github.com/ppinard/matplotlib-scalebar/issues/30\n[i32]: https://github.com/ppinard/matplotlib-scalebar/issues/32\n[i33]: https://github.com/ppinard/matplotlib-scalebar/issues/33\n[i35]: https://github.com/ppinard/matplotlib-scalebar/issues/35\n[i36]: https://github.com/ppinard/matplotlib-scalebar/issues/36\n[i41]: https://github.com/ppinard/matplotlib-scalebar/issues/41\n[i44]: https://github.com/ppinard/matplotlib-scalebar/pull/44\n[i47]: https://github.com/ppinard/matplotlib-scalebar/pull/47\n[i48]: https://github.com/ppinard/matplotlib-scalebar/pull/48\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ppinard/matplotlib-scalebar", "keywords": "matplotlib scale micron bar", "license": "BSD", "maintainer": "Philippe Pinard", "maintainer_email": "philippe.pinard@gmail.com", "name": "matplotlib-scalebar", "package_url": "https://pypi.org/project/matplotlib-scalebar/", "platform": null, "project_url": "https://pypi.org/project/matplotlib-scalebar/", "project_urls": { "Homepage": "https://github.com/ppinard/matplotlib-scalebar" }, "release_url": "https://pypi.org/project/matplotlib-scalebar/0.8.1/", "requires_dist": [ "matplotlib" ], "requires_python": "~=3.7", "summary": "Artist for matplotlib to display a scale bar", "version": "0.8.1", "yanked": false, "yanked_reason": null }, "last_serial": 13137457, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "763fbe91df92694d34efdfb10188147a", "sha256": "ae9d596eb27bc40e5d46305dcee8997ac7cad8e399f98a8d90ddab4cc398f091" }, "downloads": -1, "filename": "matplotlib_scalebar-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "763fbe91df92694d34efdfb10188147a", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 9015, "upload_time": "2016-01-06T20:14:30", "upload_time_iso_8601": "2016-01-06T20:14:30.124215Z", "url": "https://files.pythonhosted.org/packages/0d/55/6df3e9c58a7a62eb3d0751a7808168e068b271af99cd7c489ebc0fef0559/matplotlib_scalebar-0.1.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "15fa1c4ee287d17e1deeb60793664a59", "sha256": "f8a2e15716d13f9e09e789c6b8c4522e1788a5e65ddebcf275cbf1b9979cdb6b" }, "downloads": -1, "filename": "matplotlib-scalebar-0.1.0.tar.gz", "has_sig": false, "md5_digest": "15fa1c4ee287d17e1deeb60793664a59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6222, "upload_time": "2016-01-06T20:13:59", "upload_time_iso_8601": "2016-01-06T20:13:59.174617Z", "url": "https://files.pythonhosted.org/packages/46/9b/8c289035cf444058c29cd70d8b72ff6bdc6eb567d49562a21dd2131c0df0/matplotlib-scalebar-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "f12768e9674587c7eb69a4be95b8a819", "sha256": "1353d6afbddc845320e357fc50d0a7976762d9802d6af39e8f1fbb78ab52905a" }, "downloads": -1, "filename": "matplotlib_scalebar-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f12768e9674587c7eb69a4be95b8a819", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 10210, "upload_time": "2016-05-15T16:55:46", "upload_time_iso_8601": "2016-05-15T16:55:46.190865Z", "url": "https://files.pythonhosted.org/packages/1a/d2/e15276423f2a2c3155fef477fa1a2ef75cfe865b429188aa274a7a588fc7/matplotlib_scalebar-0.1.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "23a056b7cd71212182f68b835e4f94ef", "sha256": "7c42d209bf24c6b16fbfabf81c9b3d8821be107fe731cb7e66e59804acc88de1" }, "downloads": -1, "filename": "matplotlib-scalebar-0.1.1.tar.gz", "has_sig": false, "md5_digest": "23a056b7cd71212182f68b835e4f94ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23251, "upload_time": "2016-05-15T16:55:38", "upload_time_iso_8601": "2016-05-15T16:55:38.120626Z", "url": "https://files.pythonhosted.org/packages/a2/6b/5e33d5065e710290e0952f3cb1c061dd4a0e48134e254f531c1cc1b5de50/matplotlib-scalebar-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "77e6d3b5069000ebac79775f1bf730f9", "sha256": "c8a32774d466a26ba3bb4228c766dcfecf4eb55a1e20e8b1d8670d87431e95b2" }, "downloads": -1, "filename": "matplotlib_scalebar-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "77e6d3b5069000ebac79775f1bf730f9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13315, "upload_time": "2016-11-08T22:05:41", "upload_time_iso_8601": "2016-11-08T22:05:41.638983Z", "url": "https://files.pythonhosted.org/packages/22/9a/334e776bc88e01ab92f522be73ee373e0413a91e5689839f77b92a09a7e6/matplotlib_scalebar-0.2.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bdbb96ab908200cb16d19af51526ccee", "sha256": "e0344f6b5a4425b53249f5df7110546d52c0305e758a974de95b76d831e72c56" }, "downloads": -1, "filename": "matplotlib-scalebar-0.2.0.tar.gz", "has_sig": false, "md5_digest": "bdbb96ab908200cb16d19af51526ccee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25505, "upload_time": "2016-11-08T22:05:43", "upload_time_iso_8601": "2016-11-08T22:05:43.831578Z", "url": "https://files.pythonhosted.org/packages/63/1a/a3431b3b3a8f2cfa6d9c071419a06e74ef2f43703885ba1c103b4f6e30a3/matplotlib-scalebar-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "085e45170175b73ddfd6c68957340e3f", "sha256": "e9c74ac00f7a8f88545f8681e9239b3248e1b62f16c19112535fe1589b733312" }, "downloads": -1, "filename": "matplotlib_scalebar-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "085e45170175b73ddfd6c68957340e3f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14864, "upload_time": "2017-03-31T13:22:06", "upload_time_iso_8601": "2017-03-31T13:22:06.877171Z", "url": "https://files.pythonhosted.org/packages/2c/4b/6bfebd88fcb361fe7e7932a428ac1788fb7d10b96d132a7b7fb53a637c2a/matplotlib_scalebar-0.3.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0709bd5a6ea57a12849740fc05caa413", "sha256": "888a60f9a3f4d1a4eb31f43838609cbb4430e543567e92ff52de09b793b8af1a" }, "downloads": -1, "filename": "matplotlib-scalebar-0.3.1.tar.gz", "has_sig": false, "md5_digest": "0709bd5a6ea57a12849740fc05caa413", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26980, "upload_time": "2017-03-31T13:22:08", "upload_time_iso_8601": "2017-03-31T13:22:08.398831Z", "url": "https://files.pythonhosted.org/packages/b0/bd/258dcf5d3ac4c9689fce4beb3859237623ab5749b999eee0f8702d9052ca/matplotlib-scalebar-0.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "76a1b1dc75dff8563950a4851b3bbbdf", "sha256": "4f47c6bcc67a9b34c3a83fd1c5b2e688fdedabb05a09ebb3db26ddcce2461d78" }, "downloads": -1, "filename": "matplotlib_scalebar-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "76a1b1dc75dff8563950a4851b3bbbdf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16536, "upload_time": "2017-07-14T16:19:31", "upload_time_iso_8601": "2017-07-14T16:19:31.504424Z", "url": "https://files.pythonhosted.org/packages/bf/fa/a7790982eb0de2a487a76dafa7da50fa74248dceab9497d2575679430e14/matplotlib_scalebar-0.4.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "2f03f4d56ddfa12617ee496b453afb24", "sha256": "88d7ae88ae01bf9c147b0a5c75c4778b9f26775b2aeba3f7904cc8d7ccc10d2b" }, "downloads": -1, "filename": "matplotlib-scalebar-0.4.0.tar.gz", "has_sig": false, "md5_digest": "2f03f4d56ddfa12617ee496b453afb24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29026, "upload_time": "2017-07-14T16:19:33", "upload_time_iso_8601": "2017-07-14T16:19:33.353276Z", "url": "https://files.pythonhosted.org/packages/d6/f1/deedd330e17c66095c9dc2886eeac49b2c8332addcf35f4e6552fe215fb1/matplotlib-scalebar-0.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "f8d52e46125bd97b82a992aeb5671585", "sha256": "c505441356e6e01938e6a8d1dfbb137e0b012bb890563aa26e87791d9803a1fd" }, "downloads": -1, "filename": "matplotlib_scalebar-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f8d52e46125bd97b82a992aeb5671585", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16675, "upload_time": "2017-10-09T21:49:14", "upload_time_iso_8601": "2017-10-09T21:49:14.780544Z", "url": "https://files.pythonhosted.org/packages/a7/7f/1f8b86e05e6fd2a84925a6cdb3215041ec962505daf039cf1f9c8a144b36/matplotlib_scalebar-0.4.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6f961a4b32199b67256beabfeeed01e7", "sha256": "6a39b1d3ee0e79b6053b6de596d3b974bc6b258c39d27182725cfdbafdbd4d2a" }, "downloads": -1, "filename": "matplotlib-scalebar-0.4.1.tar.gz", "has_sig": false, "md5_digest": "6f961a4b32199b67256beabfeeed01e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29160, "upload_time": "2017-10-09T21:49:16", "upload_time_iso_8601": "2017-10-09T21:49:16.185201Z", "url": "https://files.pythonhosted.org/packages/36/75/047187694e7e1f7d4fa992281fd333c97f05e409545210f655ac0cb0cb99/matplotlib-scalebar-0.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "93b679227630e454f90095db1441bb7e", "sha256": "93f43d42eab576418650c501847bafec517e771b5cd6608cb99e5712db0aae23" }, "downloads": -1, "filename": "matplotlib_scalebar-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "93b679227630e454f90095db1441bb7e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13768, "upload_time": "2018-07-08T19:37:04", "upload_time_iso_8601": "2018-07-08T19:37:04.743879Z", "url": "https://files.pythonhosted.org/packages/8f/3f/ca02f1dd0fd7a7d8ad64220c3c067d732ca999a78d32a45c90c495c66fc1/matplotlib_scalebar-0.5.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "b5d7ca56e1216c5ab3f7e907977bd160", "sha256": "495a8cd6a9c2228ca58895009c12e015e3501ccf2f245bbfb77d0a270e7448cb" }, "downloads": -1, "filename": "matplotlib-scalebar-0.5.0.tar.gz", "has_sig": false, "md5_digest": "b5d7ca56e1216c5ab3f7e907977bd160", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30020, "upload_time": "2018-07-08T19:37:05", "upload_time_iso_8601": "2018-07-08T19:37:05.795625Z", "url": "https://files.pythonhosted.org/packages/57/fd/db4377311e5b544f49409c5bf33bf9f2b5b9d0eefd85037ad56756f92713/matplotlib-scalebar-0.5.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "cd1f19e784fd38bb953bce474121f080", "sha256": "7ce72468563e683e8f353d19a77535e716ca3d71485f2fdea48863e897d7f7de" }, "downloads": -1, "filename": "matplotlib_scalebar-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cd1f19e784fd38bb953bce474121f080", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13798, "upload_time": "2018-07-15T14:41:20", "upload_time_iso_8601": "2018-07-15T14:41:20.377813Z", "url": "https://files.pythonhosted.org/packages/97/4f/d8b07da43cad4fe16a3b9a368b1a15629d3488e615c04c2943e7b69b8817/matplotlib_scalebar-0.5.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "df76b0668c3c71fb00567bb79c48476e", "sha256": "4b398f3d11c2d1ec4baa9e92212665ff58ec4ae2a2e0d92a87b80e750dcc4b14" }, "downloads": -1, "filename": "matplotlib-scalebar-0.5.1.tar.gz", "has_sig": false, "md5_digest": "df76b0668c3c71fb00567bb79c48476e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30110, "upload_time": "2018-07-15T14:41:21", "upload_time_iso_8601": "2018-07-15T14:41:21.303244Z", "url": "https://files.pythonhosted.org/packages/6e/70/d000972ab9a37af2f5d0e6c42626e1a73cfd4b4a0efecb98684e16a2cbcd/matplotlib-scalebar-0.5.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "6eab0856c463273d37d1651a57110c93", "sha256": "c65bc0d49b968de543f6c64d97d76daac4f2181eeff095e83062891a7b45b197" }, "downloads": -1, "filename": "matplotlib_scalebar-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6eab0856c463273d37d1651a57110c93", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15083, "upload_time": "2019-07-12T20:19:53", "upload_time_iso_8601": "2019-07-12T20:19:53.675880Z", "url": "https://files.pythonhosted.org/packages/31/b2/acdcaea39ca40c029e3567d7bc71acd3bfefdbf7604d45ef2d7e482f31f0/matplotlib_scalebar-0.6.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "593541224c84c44fff61fc1c23e1cc84", "sha256": "72bd1cd0ff68f3039a22ce55e678bad0e98a0e0197666303f4647af498f555a6" }, "downloads": -1, "filename": "matplotlib-scalebar-0.6.0.tar.gz", "has_sig": false, "md5_digest": "593541224c84c44fff61fc1c23e1cc84", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30716, "upload_time": "2019-07-12T20:19:55", "upload_time_iso_8601": "2019-07-12T20:19:55.735818Z", "url": "https://files.pythonhosted.org/packages/06/ed/3bb10c4ed6816154617eb2575ada76955c9b847ce74e890d9143345e011e/matplotlib-scalebar-0.6.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "3bdbc9876ba2b60d14bd9b8ec558cec6", "sha256": "913e0c2e3f7039d6e3d3f8bfb569241b3baaa747bfc1ec842ceec1adc1c2013f" }, "downloads": -1, "filename": "matplotlib_scalebar-0.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3bdbc9876ba2b60d14bd9b8ec558cec6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15445, "upload_time": "2019-10-26T12:39:20", "upload_time_iso_8601": "2019-10-26T12:39:20.056206Z", "url": "https://files.pythonhosted.org/packages/d1/95/d311da1083a426b872e7be318373c45f075bb356d0524c3097f5f4c6d2d9/matplotlib_scalebar-0.6.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1dc09fccbf86e948a25506b3b17d6c1c", "sha256": "85cec2bacf85aaf00a70cafa5786f7e66e7c0f6e9dc5c894fd6d1afaa7264ecd" }, "downloads": -1, "filename": "matplotlib-scalebar-0.6.1.tar.gz", "has_sig": false, "md5_digest": "1dc09fccbf86e948a25506b3b17d6c1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31464, "upload_time": "2019-10-26T12:39:22", "upload_time_iso_8601": "2019-10-26T12:39:22.083839Z", "url": "https://files.pythonhosted.org/packages/22/c2/6c783a0e730ef93ee6a7f3c2437c2ef3d91969f5455ce2da3d4878a39750/matplotlib-scalebar-0.6.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "a1f9d7f4be3240dabd933cd7e0c37c31", "sha256": "33642cd995f85e08845dd6395c0d8c5400d9683cd00360071e25d5adf7877f4a" }, "downloads": -1, "filename": "matplotlib_scalebar-0.6.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a1f9d7f4be3240dabd933cd7e0c37c31", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15591, "upload_time": "2020-04-11T10:21:53", "upload_time_iso_8601": "2020-04-11T10:21:53.298836Z", "url": "https://files.pythonhosted.org/packages/89/ba/46ae95cc9d2c49f2d13ec6f4322f06a5e7621bee03685fab59c64f321afd/matplotlib_scalebar-0.6.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6842157b56627cc0897f3ff5097928a9", "sha256": "b0aa1a732c961e1fa50c59b45d0e067977b912d9be3378233081db2a1bd75c20" }, "downloads": -1, "filename": "matplotlib-scalebar-0.6.2.tar.gz", "has_sig": false, "md5_digest": "6842157b56627cc0897f3ff5097928a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32162, "upload_time": "2020-04-11T10:21:54", "upload_time_iso_8601": "2020-04-11T10:21:54.764500Z", "url": "https://files.pythonhosted.org/packages/b7/37/bf0bd026dd60b2a99bb8913fe3c45787dec7db34dd4ffd7d35118325b949/matplotlib-scalebar-0.6.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "2d01b4fc6ca1a6557bf5fe66fce2e4ab", "sha256": "661ae4ec4fec8d43b401daa4bc5abdb5beec04ff43d7ab5240ae9d5872bd077d" }, "downloads": -1, "filename": "matplotlib_scalebar-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2d01b4fc6ca1a6557bf5fe66fce2e4ab", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17016, "upload_time": "2021-01-02T11:26:31", "upload_time_iso_8601": "2021-01-02T11:26:31.092315Z", "url": "https://files.pythonhosted.org/packages/0e/23/ceae0d790922724cd5a7326c75bcf6f97aebffb8c123cb3ce778532fb9b8/matplotlib_scalebar-0.7.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f5f69edf6656fad3c5839900a50bb27f", "sha256": "a62122d0756c9e588565e19daded4ebadf705782c72f343931814850753741d4" }, "downloads": -1, "filename": "matplotlib-scalebar-0.7.0.tar.gz", "has_sig": false, "md5_digest": "f5f69edf6656fad3c5839900a50bb27f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35308, "upload_time": "2021-01-02T11:26:32", "upload_time_iso_8601": "2021-01-02T11:26:32.657319Z", "url": "https://files.pythonhosted.org/packages/a0/74/717359cf13e5e7185ecaa4643583cab99b461acb4fbdb24a086586942ea9/matplotlib-scalebar-0.7.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "4a830ec7395161030c5b5de4f532382a", "sha256": "d6e858da5415ec82b4ce2033f1822eec9a063cb9fbe192466882354fbaa7277a" }, "downloads": -1, "filename": "matplotlib_scalebar-0.7.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4a830ec7395161030c5b5de4f532382a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17283, "upload_time": "2021-01-09T12:58:56", "upload_time_iso_8601": "2021-01-09T12:58:56.757662Z", "url": "https://files.pythonhosted.org/packages/98/31/761f61114e32afe59122e1f386ff21440fd601eccb9e8e7e4cb29f09ac25/matplotlib_scalebar-0.7.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "f21201a870d7391d4b32c4c7736bc2ea", "sha256": "fcb2880d39dd0f20bd396d1f4d39fa909d2db6c556f9f7b4cd12a6d5a0abcb6d" }, "downloads": -1, "filename": "matplotlib-scalebar-0.7.1.tar.gz", "has_sig": false, "md5_digest": "f21201a870d7391d4b32c4c7736bc2ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35593, "upload_time": "2021-01-09T12:58:58", "upload_time_iso_8601": "2021-01-09T12:58:58.256671Z", "url": "https://files.pythonhosted.org/packages/41/80/61be7e92d12da8735537a982adc2c161ee961d4187b1cdf0ef2f2d034d50/matplotlib-scalebar-0.7.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "44344d1a8a7188e584ffdc6481bda2cb", "sha256": "2b7f886f1d34c0c4fa16d4ff4bfd1e5f92c0a5925a8e2c954fdb97f42a2dbd02" }, "downloads": -1, "filename": "matplotlib_scalebar-0.7.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "44344d1a8a7188e584ffdc6481bda2cb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 17411, "upload_time": "2021-01-30T14:55:30", "upload_time_iso_8601": "2021-01-30T14:55:30.356877Z", "url": "https://files.pythonhosted.org/packages/51/a4/cd254234c35f3591361988e89ab132ee14789f2ebe1ede621d63f5241f00/matplotlib_scalebar-0.7.2-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "eeb570aece2004b9d28ea32e94b72e39", "sha256": "36cfb6444e2e9ef7bc1cffe5d942b8b56bb45a65586eb00952812d599fbb14d0" }, "downloads": -1, "filename": "matplotlib-scalebar-0.7.2.tar.gz", "has_sig": false, "md5_digest": "eeb570aece2004b9d28ea32e94b72e39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35736, "upload_time": "2021-01-30T14:55:32", "upload_time_iso_8601": "2021-01-30T14:55:32.063549Z", "url": "https://files.pythonhosted.org/packages/df/f7/1aa21a21aa35085ca74825c1488f05ee82e95d153380c0259a8e05d2d8a5/matplotlib-scalebar-0.7.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.0": [ { "comment_text": "", "digests": { "md5": "f53a85bd78a369e03458ce82ed398925", "sha256": "955a86172ff3ff6f612888212d6d51534db3a7956b84e25a081420c68733862a" }, "downloads": -1, "filename": "matplotlib_scalebar-0.8.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f53a85bd78a369e03458ce82ed398925", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": "~=3.7", "size": 17650, "upload_time": "2021-11-27T16:04:06", "upload_time_iso_8601": "2021-11-27T16:04:06.769086Z", "url": "https://files.pythonhosted.org/packages/07/76/71889e6f33ac4fa0e371119da182bc9214f2a83727a710f9c940615bdfc3/matplotlib_scalebar-0.8.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "612b9974c65deeac53ab0eea7975c640", "sha256": "3cf78834e45bb72b8776bcedb6f5c2f643c510a2a95f6edc0bf5054dcc528df8" }, "downloads": -1, "filename": "matplotlib-scalebar-0.8.0.tar.gz", "has_sig": false, "md5_digest": "612b9974c65deeac53ab0eea7975c640", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 1108304, "upload_time": "2021-11-27T16:04:09", "upload_time_iso_8601": "2021-11-27T16:04:09.570964Z", "url": "https://files.pythonhosted.org/packages/ce/f2/dd08413c40d206e37e3cb279a8d4c94233b30eafe98259ce29fafd8971dd/matplotlib-scalebar-0.8.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.8.1": [ { "comment_text": "", "digests": { "md5": "cca9691b0882355f276efad85e189371", "sha256": "a8a2f361d4c2d576d087df3092ed95cac2f708f8b40d5d2bb992bd190e740b3a" }, "downloads": -1, "filename": "matplotlib_scalebar-0.8.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cca9691b0882355f276efad85e189371", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": "~=3.7", "size": 17686, "upload_time": "2022-03-10T11:47:40", "upload_time_iso_8601": "2022-03-10T11:47:40.946660Z", "url": "https://files.pythonhosted.org/packages/a9/9e/22930e3deb2c374f47c6633aff9f6f379f8c421ab868fff3b4f85eac8b8a/matplotlib_scalebar-0.8.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "06b0c648c423d9deeb3efe2f4727002e", "sha256": "14887af1093579c5e6afae51a0a1ecc3f715cdbc5c4d7ef59cdeec76ee6bb15d" }, "downloads": -1, "filename": "matplotlib-scalebar-0.8.1.tar.gz", "has_sig": false, "md5_digest": "06b0c648c423d9deeb3efe2f4727002e", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 1108463, "upload_time": "2022-03-10T11:47:45", "upload_time_iso_8601": "2022-03-10T11:47:45.960841Z", "url": "https://files.pythonhosted.org/packages/ff/16/a564e2c97652e95b5aca51f21e3b281a0546159a9a6b06e2f6476bc53da6/matplotlib-scalebar-0.8.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cca9691b0882355f276efad85e189371", "sha256": "a8a2f361d4c2d576d087df3092ed95cac2f708f8b40d5d2bb992bd190e740b3a" }, "downloads": -1, "filename": "matplotlib_scalebar-0.8.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cca9691b0882355f276efad85e189371", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": "~=3.7", "size": 17686, "upload_time": "2022-03-10T11:47:40", "upload_time_iso_8601": "2022-03-10T11:47:40.946660Z", "url": "https://files.pythonhosted.org/packages/a9/9e/22930e3deb2c374f47c6633aff9f6f379f8c421ab868fff3b4f85eac8b8a/matplotlib_scalebar-0.8.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "06b0c648c423d9deeb3efe2f4727002e", "sha256": "14887af1093579c5e6afae51a0a1ecc3f715cdbc5c4d7ef59cdeec76ee6bb15d" }, "downloads": -1, "filename": "matplotlib-scalebar-0.8.1.tar.gz", "has_sig": false, "md5_digest": "06b0c648c423d9deeb3efe2f4727002e", "packagetype": "sdist", "python_version": "source", "requires_python": "~=3.7", "size": 1108463, "upload_time": "2022-03-10T11:47:45", "upload_time_iso_8601": "2022-03-10T11:47:45.960841Z", "url": "https://files.pythonhosted.org/packages/ff/16/a564e2c97652e95b5aca51f21e3b281a0546159a9a6b06e2f6476bc53da6/matplotlib-scalebar-0.8.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }