Live data from Hacker News

Show HN: Ultraplot – A succint wrapper for matplotlib

github.com

11–15 of 15 posts

Re: Show HN: Ultraplot – A succint wrapper for matplotlib

#11

That comparison between the matplotlib and ultraplot APIs doesn't seem fair. Most of the difference in length is that the separate methods for formatting in matplotlib are bundled into a single format() function in ultraplot. But, in matplotlib, you can pass those as kwargs to add_subplot() [1] which would work out at a similar length (or even shorter). [1] https://matplotlib.org/stable/api/_as_gen/matplotlib.figure.…

Fair points. Behind the scenes there are changes from matplotlib. For example our `GridSpec` assumes a flat layout and does not allow for nesting. This simplifies the alignment when using (nested) panels, colorbars (which are aligned by default) and legends. Additionally it dispatches the plotting over multiple plots by default. We also attempt to make the plotting process a bit more pydanctic by moving `colorbars` to the axis or figure objects and allowing direct plotting for geo plots.

You can consider as a bunch of tools that ease the publication making process but is by no means a panacea, but offers a different flavor to the scientific plotting stack.

Check out our docs or more visual examples.

Re: Show HN: Ultraplot – A succint wrapper for matplotlib

#12

For those unfamiliar, ProPlot was widely loved for enabling publication-quality graphics with minimal effort. UltraPlot continues that mission with active development, updated compatibility, and a focus on simplicity. Why UltraPlot? Key improvements over vanilla matplotlib: - Effortless subplot management: build complex multi-panel layouts in one line - GeoAxes support included out of the box - Smarter aesthetics: be…

Interesting, thanks. A few questions from a newbie:

* I hadn't heard of ProPlot before. I take it that it's no longer maintained? Is there an announcement, or is it just obvious from commits drying up (like with PIL which was forked into Pillow)?

* Is this a (friendly) fork (again, as with PIL/Pillow), or a reimplementation (in which case are there big differences or does it aim to match)?

* I hadn't of GeoAxes either and that looks pretty useful. The top web search results for that term are ProPlot and Cartopy. Is the Cartopy implementation related at all? Is this a bundling of that, or a similar reimplementation, or something fairly different?

Re: Show HN: Ultraplot – A succint wrapper for matplotlib

#13

For those unfamiliar, ProPlot was widely loved for enabling publication-quality graphics with minimal effort. UltraPlot continues that mission with active development, updated compatibility, and a focus on simplicity. Why UltraPlot? Key improvements over vanilla matplotlib: - Effortless subplot management: build complex multi-panel layouts in one line - GeoAxes support included out of the box - Smarter aesthetics: be…

Interesting, thanks. A few questions from a newbie: * I hadn't heard of ProPlot before. I take it that it's no longer maintained? Is there an announcement, or is it just obvious from commits drying up (like with PIL which was forked into Pillow)? * Is this a (friendly) fork (again, as with PIL/Pillow), or a reimplementation (in which case are there big differences or does it aim to match)? * I hadn't of GeoAxes eithe…

To answer my own questions:

* Yes it seems ProPlot stagnated and no longer works with latest matplotlib versions. UltraPlot is a fork that fixes that:

https://github.com/proplot-dev/proplot/pull/459

* Yes, the documentation says that GeoAxes is from Cartopy.

(Also, typo: the project description says "succint" rather than "succinct".)

Re: Show HN: Ultraplot – A succint wrapper for matplotlib

#14

For those unfamiliar, ProPlot was widely loved for enabling publication-quality graphics with minimal effort. UltraPlot continues that mission with active development, updated compatibility, and a focus on simplicity. Why UltraPlot? Key improvements over vanilla matplotlib: - Effortless subplot management: build complex multi-panel layouts in one line - GeoAxes support included out of the box - Smarter aesthetics: be…

Interesting, thanks. A few questions from a newbie: * I hadn't heard of ProPlot before. I take it that it's no longer maintained? Is there an announcement, or is it just obvious from commits drying up (like with PIL which was forked into Pillow)? * Is this a (friendly) fork (again, as with PIL/Pillow), or a reimplementation (in which case are there big differences or does it aim to match)? * I hadn't of GeoAxes eithe…

Thanks for your questions.

  - ProPlot appears to be unmaintained - I initially tried to push changes to make it compatible with matplotlib 3.9+ around mid-2024, but after repeatedly trying to contact the original owner through official and unofficial channels with no response, we decided to fork by the end of 2024. I had grown really fond of ProPlot and wanted to keep it alive.

  - This is currently a friendly fork, not a reimplementation. We're carrying on the torch that ProPlot set out with, adding features along the way and refactoring when necessary.

  - We implement a custom GeoAxes that allows for basemap and/or Cartopy as a backend. The GeoAxes object behaves similar to a normal axis, allowing direct plotting and manipulation without the user having to worry about projections.
Post reply on HN