This is an incremental release that is a recommended upgrade for all
users. It addresses a handful of bugs / regressions in v0.12.0 and adds
several features and enhancements to the new objects interface.
The objects.Band and objects.Range marks will now cover the full
extent of the data if min / max variables are not explicitly assigned or
added in a transform (#3056).
The objects.Jitter move now applies a small amount of jitter by
default (#3066).
Axes with a objects.Nominal scale now appear like categorical axes
in classic seaborn, with fixed margins, no grid, and an inverted y
axis (#3069).
The objects.Continuous.label method now accepts base=None to override the default formatter
with a log transform (#3087).
Marks that sort along the orient axis (e.g. objects.Line) now use a
stable algorithm (#3064).
Added a label parameter to pointplot,
which addresses a regression in 0.12.0 when pointplot is passed to
FacetGrid (#3016).
Fixed a bug that caused an exception when more than two layers with
the same mappings were added to objects.Plot (#3055).
Made objects.PolyFit robust to missing data (#3010).
Fixed a bug in objects.Plot that occurred when data assigned to the
orient coordinate had zero variance (#3084).
Fixed a regression in kdeplot where passing cmap for an unfilled bivariate plot would
raise an exception (#3065).
Addressed a performance regression in lineplot with a large number
of unique x values (#3081).
Seaborn no longer contains doctest-style examples, simplifying the
testing infrastructure (#3034).
v0.12.0
Introduction of the objects interface
This release debuts the seaborn.objects interface, an entirely new approach to making plots with seaborn. It is the product of several years of design and 16 months of implementation work. The interface aims to provide a more declarative, composable, and extensible API for making statistical graphics. It is inspired by Wilkinson's grammar of graphics, offering a Pythonic API that is informed by the design of libraries such as ggplot2 and vega-lite along with lessons from the past 10 years of seaborn's development.
This initial release should be considered "experimental". While it is stable enough for serious use, there are definitely some rough edges, and some key features remain to be implemented. It is possible that breaking changes may occur over the next few minor releases. Please be patient with any limitations that you encounter and help the development by reporting issues when you find behavior surprising.
Keyword-only arguments
Seaborn's plotting functions now require explicit keywords for most arguments, following the deprecation of positional arguments in v0.11.0. With this enforcement, most functions have also had their parameter lists rearranged so that data is the first and only positional argument. This adds consistency across the various functions in the library. It also means that calling func(data) will do something for nearly all functions (those that support wide-form data) and that pandas.DataFrame can be piped directly into a plot. It is possible that the signatures will be loosened a bit in future releases so that x and y can be positional, but minimal support for positional arguments after this change will reduce the chance of inadvertent mis-specification (2804).
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps seaborn from 0.11.2 to 0.12.1.
Release notes
Sourced from seaborn's releases.
... (truncated)
Commits
df31a75
Merge branch 'master' into v0.12df37723
Fix objects referencesf0b21f3
Merge branch 'master' into v0.120cda814
Fix hidden cell in Est docstring8aa6cfc
Merge branch 'master' into v0.127feb61d
Make Text examples look better with new Nominal behaviorc56c20d
Merge branch 'master' into v0.120d676fb
Fix typos in release notes3b59b72
Merge branch 'master' into v0.12d5ffb64
Update release notes for v0.12.1 releaseDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)