Plotnine

(plotnine.org)

61 points | by tosh 4 days ago ago

15 comments

  • has2k1 an hour ago

    If you already use plotnine, or if this has piqued your interest, the next release (v0.16.0) will bring nice capabilities.

    You can get a sneak peek by installing the pre-release:

    pip install --pre plotnine

    Details here: https://github.com/has2k1/plotnine/issues/1031

    Disclaimer: I'm the author.

  • a_ba 13 minutes ago

    I have used neither in quite a while now but there is an alternative from jetbrains that i started using because it shares the same ergonomics and had better (?) documentation.

    https://lets-plot.org/python/

  • qrobit 2 hours ago

    And it comes with tidyverse-like cheatsheet[1] that I confused with ggplot2 when first discovered plotnine

    [1]: https://github.com/rstudio/cheatsheets/blob/main/plotnine.pd...

    • has2k1 12 minutes ago

      Sorry for the confusion. Though, it is a mango tree in a mango garden! The continued development and maintenance of plotnine is supported by Posit, PBC, the same company behind the Tidyverse.

      Disclaimer: I am the author.

  • jpcompartir an hour ago

    After plotnine, with a solid & performant (more than the R versions) Python version of Purrr and Dplyr I might never reach for R again!

  • domoritz 3 hours ago

    For another grammar-of-graphics-based visualization library (flexibly compose charts rather than simply pick a template), check out Altair https://altair-viz.github.io.

  • jstanley 3 hours ago

    Using operator overloading of "+" to configure the plot is... a choice.

  • piqufoh 3 hours ago

    `from plotnine import *`

    ... I love the idea of a new python plotting library, but why is this anti-pattern so common with plotting libs?

    • jeroenjanssens 2 hours ago

      While it’s generally considered to be bad practice to import everything into the global namespace, I think it’s fine to do this in an ad-hoc environment such as a notebook as it makes using the many functions plotnine provides more convenient. An additional advantage is that the resulting code more closely resembles the original ggplot2 code. Alternatively, it’s quite common to `import plotnine as p9` and prefix every function with `p9`.

      Disclaimer: I made the plotnine homepage and cheatsheet.

    • jamessb 3 hours ago

      > a new python plotting library

      Whilst it's still not yet at 1.0.0, it's not that new: the first (0.1.0) release was in 2017: https://pypi.org/project/plotnine/#history

      • LoganDark 2 hours ago

        matplotlib's first release was in 2003, making it more than twice as old.

    • teruakohatu 2 hours ago

      Because most of the time this will be used is not part of a software development project but rather producing publication plots in a script or plots in a notebook. Not what you would want to do when incorporating it into a web app.

    • globular-toast 3 hours ago

      Because it's aimed at data scientists who would rather be using R...

  • globular-toast 3 hours ago

    Back when I did a lot of data stuff I used ggplot in R because it seemed to be popular, but I was just copy/pasting examples. Then one day I finally started to "get it" and actually read the manual. Learning the grammar of graphics was like a super power. I got to the point I could open pretty much anything people sent me and visualise it in a matter of seconds.

    Although I've used Python professionally a lot more than R, I still felt like R was better at this. Somehow opening files in Python always feels a bit more "heavy". I don't really know why, though.