Skip to content

v0.3.0

Compare
Choose a tag to compare
@has2k1 has2k1 released this 08 Nov 18:57
v0.3.0

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