Thanks to visit codestin.com
Credit goes to zenodo.org

Published July 15, 2025 | Version v0.15.0
Software Open

has2k1/plotnine: v0.15.0

  • 1. @coiled
  • 2. International Institute for Applied Systems Analysis @iiasa
  • 3. @oblique-security
  • 4. @rstudio
  • 5. @posit-dev
  • 6. The University Of Melbourne
  • 7. Dartmouth College, @dandi, @Debian, @DataLad, @neurodebian, @PyMVPA, @fail2ban
  • 8. IRESS
  • 9. Simula Research Laboratory
  • 10. @Quansight @openteams-ai
  • 11. Brooklyn Brainery
  • 12. @sovereigntech

Description

API Changes

  • Themeables axis_ticks_pad, axis_ticks_pad_minor, axis_ticks_pad_major, axis_ticks_pad_minor_x, axis_ticks_pad_minor_y, axis_ticks_pad_major_x and axis_ticks_pad_major_y have been deprecated. Use the margin parameter of element_text with axis_text, axis_text_x or axis_text_y to control the spacing between the axis text and the ticks. (#843)
  • The stat class methods stat.compute_layer, stat.compute_panel and stat.compute_group are now instance methods and they no longer accept **params arguments. Access to the parameters is through self.params.
  • The geom class methods geom.draw_layer and geom.draw_panel do no longer accept **param arguments. Access to the parameters is through self.params.
  • Method geom.draw_group now accepts the params argument as a dictionary and not **params.

New Features

  • Plot Composition is here. Using an intuitive algebra, you can now put combine multiple plots into a single graphic. e.g.

    p1 = ggplot(...)
    p2 = ggplot(...)
    p3 = ggplot(...)
    
    (p1 | p2) / p3
    
  • Using plot_title_position and plot_caption_position e.g.

    theme(
       plot_title_position="plot",
       plot_caption_position="plot",
    )
    

    You can now position the plot_title, plot_subtitle and plot_caption by alignment them with respect to the plot. (#838)

  • Gained new label tag to create a tag for a plot. You can set it with labs e.g.

    labs(tag="A")
    

    and customise it using these themeables plot_tag and plot_tag_position and plot_tag_location e.g.

    theme(
       plot_tag="plot",
       plot_tag_location="plot",
       plot_tag_position="topright",
    )
    
  • Geoms geom_bar and geom_col have gained new parameter just that controls how the bars align with the axis break point.

  • geom_sina has gained new parameter style just like geom_violin, which make one-sided (half) sina plots.

  • Gained the Anscombe Quartet dataset, anscombe_quartet.

  • Gained new module plotnine.helpers to be a place for some helper functions.

  • Gained new helper function get_aesthetic_limits.

  • geom_point gained the ability to handle shapes of the form Sequence[tuple[float, float]] e.g.

    ((-2, -4), (-2, -1), (0, 1), (2, -1), (2, -4), (-2, -4))
    

    Which declares the vertices of a polygon shape.

Enhancements

  • Included datasets mpg, msleep and midwest no longer have any of their columns as categoricals. This matches the respective datasets in R. (#913)
  • When the width of the violins in geom_violin is wider than their normal area, they now overlap with those closest to the origin on top. This makes it possible to create overlapping ridge plots using half violins.
  • legend_key now inherits from panel_background and the default themes have been adjusted to rely on this inheritance. So when using the default themes, altering fill parameter of the panel_background will also affect the background of the legend_key.
  • The default value for the guide parameter for the identity scales (scale_*_identity) has been reverted to None. This means by default using these scales will not generate a legend.

Bug Fixes

  • Fixed bug in with the legend_key_height themeable where it wasn't applied. (#921)
  • Fixed bug where justifying axis_text_x and axis_text_y using horizontal and vertical alignment did not work as expected. (#927)
  • Fixed justifying strip_text within the strip_background. (#867)
  • Fixed bug where faceting along a column with unused categories could raise an error. (#930)
  • Fixed bug where computed aesthetic from after_scale are were not applied to the legend. (#926)
  • Fixed theming of minor x axis ticks.
  • Fixed theming of axis_text, axis_text_x and axis_text_y so when they can be overriden if previously set to element_blank().
  • Fixed strip_text_x_backgrounds to always have equal heights and strip_text_y_backgrounds to have equal widths. This applies to cases where the texts have unequal number of lines or they are rotated but have different lengths.
  • Fixed the empty space below the plot title (or subtitle) when strip_text_x_backgrounds are partly or fully aligned within the panel. This space (hole), was not accounted for by any of the themeables. This affected theme_xkcd and any theme settings that tried to slide the text / background into the panel.
  • Fixed the empty space to the left the right margin when the strip_text_y_backgrounds are partly or fully aligned within the panel. This space (hole), was not accounted for by any of the themeables. This affected theme_xkcd and any theme settings that tried to slide the text / background into the panel.
  • Fixed bug in geom_histogram where mapping to the weight aesthetic lead to an error. (#936)
  • Fixed bug in geom_vline where you could not map the xintercept aesthetic to a discrete variable.
  • Fixed bug in geom_hline where you could not map the yintercept aesthetic to a discrete variable.
  • Fixed bug in all manual scales (scale_*_manual) where if you set values to a dict then setting the breaks would lead to an error. (#949)
  • Fixed using theme_void with facetting so that the strip text are always fully within the figure bounds.
  • Fixed the ordinal color scales scale_color_ordinal, scale_color_cmap_d scale_fill_ordinal and scale_fill_cmap_d to handle missing (NaN or None) values. (#953)

Files

has2k1/plotnine-v0.15.0.zip

Files (7.2 MB)

Name Size Download all
md5:4f08f40492fdde143d307503c13228e4
7.2 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/has2k1/plotnine/tree/v0.15.0 (URL)

Software