plotnine v0.3.0 Release Notes

Release Date: 2017-11-08 // over 6 years ago
  • ๐Ÿš€ Big release with known bugs fixed and new features.

    A copy of the changelog is pasted below.


    API Changes

    • ~plotnine.geoms.geom_smooth gained an extra parameter
      legend_fill_ratio that control the area of the legend that is
      filled to indicate confidence intervals. (32)
    • plotnine.ggplot.save gained an extra parameter verbose. It no
      ๐Ÿ–จ longer guesses when to print information and when not to.
    • plotnine.ggplot.draw gained an extra parameter return_ggplot.
    • If the minor_breaks parameter of scales is a callable, it now
      expects one argument, the limits. Previously it accepted breaks
      and limits.

    ๐Ÿ†• New Features

    • โž• Added ~plotnine.animation.PlotnineAnimation for animations.
    • โž• Added ~plotnine.watermark.watermark for watermarks.
    • โž• Added datetime scales for alpha, colour, fill and size
      aesthetics

    โœจ Enhancements

    ๐Ÿ”„ Changed parameter settings for ~plotnine.stats.stat_smooth.

    1. Default span=0.75 instead of 2/3
    2. When using loess smoothing, the control parameter surface is
      only set to the value 'direct' if predictions will be made
      outside the data range.

    ๐Ÿ‘ Better control of scale limits. You can now specify individual
    limits of a scale.

    scale_y_continuous(limits=(0, None))
    xlim(None, 100)
    

    You can also use ~plotnine.scales.expand_limits

    Low and high ~plotnine.scales.scale limits can now be expanded
    separately with different factors multiplicative and additive
    factors.

    The layer parameter show_legend can now accept a dict for finer
    grained control of which aesthetics to exclude in the legend.

    ๐Ÿšš Infinite values are removed before statistical computations stats
    (40).

    stats also gained new parameter na_rm, that controls whether
    ๐Ÿšš missing values are removed before statistical computations.

    ~plotnine.qplot can now use the name and a Pandas series to label
    the scales of the aesthetics.

    You can now put stuff to add to a ggplot object into a list and add
    that that instead. No need to wrap the list around the internal
    class Layers.

    lst = [geom_point(), geom_line()]
    g = ggplot(df, aes('x', 'y'))
    print(g + lst)
    

    Using a list allows you to bundle up objects. It can be convenient
    ๐Ÿ‘€ when creating some complicated plots. See the Periodic Table
    Example.

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fixed bug where facetting led to a reordering of the data. This
      would manifest as a bug for geoms where order was important. (26)
    • ๐Ÿ›  Fix bug where facetting by a column whose name (eg. class) is a
      ๐Ÿ‘ป python keyword resulted in an exception. (28)
    • ๐Ÿ›  Fix bug where y-axis scaling was calculated from the xlim
      argument.
    • ๐Ÿ›  Fix bug where initialising geoms from stats, and positions from
      geoms, when passed as classes (e.g. stat_smooth(geom=geom_point),
      would fail.
    • ๐Ÿ›  Fixed bug in plotnine.ggplot.save where s