Software Open Access
Michael Waskom; Maoz Gelbart; Olga Botvinnik; Joel Ostblom; Paul Hobson; Saulius Lukauskas; David C Gemperline; Tom Augspurger; Yaroslav Halchenko; Jordi Warmenhoven; John B. Cole; Julian de Ruiter; Jake Vanderplas; Stephan Hoyer; Cameron Pye; Alistair Miles; Corban Swain; Kyle Meyer; Marcel Martin; Pete Bachant; Eric Quintero; Gero Kunter; Santi Villalba; Brian; Clark Fitzgerald; Constantine Evans; Mike Lee Williams; Drew O'Kane; Tal Yarkoni; Thomas Brunner
This is a minor release that addresses issues in the v0.11 series and adds a small number of targeted enhancements. It is a recommended upgrade for all users.
|Docs| A paper describing seaborn has been published in the
Journal of Open Source Software <https://joss.theoj.org/papers/10.21105/joss.03021>_. The paper serves as an introduction to the library and can be used to cite seaborn if it has been integral to a scientific publication.
|API| |Feature| In
lmplot, added a new
facet_kws parameter and deprecated the
legend_out parameters from the function signature; pass them in a
facet_kws dictionary instead (https://github.com/mwaskom/seaborn/pull/2576).
|Feature| Added a
move_legend convenience function for repositioning the legend on an existing axes or figure, along with updating its properties. This function should be preferred over calling
ax.legend with no legend data, which does not reliably work across seaborn plot types (https://github.com/mwaskom/seaborn/pull/2643).
stat="percent" as an option for normalization such that bar heights sum to 100 and
stat="proportion" as an alias for the existing
stat="probability" (https://github.com/mwaskom/seaborn/pull/2461, https://github.com/mwaskom/seaborn/pull/2634).
JointGrid.refline methods for plotting horizontal and/or vertical reference lines on every subplot in one step (https://github.com/mwaskom/seaborn/pull/2620).
kdeplot, added a
warn_singular parameter to silence the warning about data with zero variance (https://github.com/mwaskom/seaborn/pull/2566).
JointGrid objects now reference the underlying matplotlib figure with a
.figure attribute. The existing
.fig attribute still exists but is discouraged and may eventually be deprecated. The effect is that you can now call
obj.figure on the return value from any seaborn function to access the matplotlib object (https://github.com/mwaskom/seaborn/pull/2639).
FacetGrid and functions that use it, visibility of the interior axis labels is now disabled, and exterior axis labels are no longer erased when adding additional layers. This produces the same results for plots made by seaborn functions, but it may produce different (better, in most cases) results for customized facet plots (https://github.com/mwaskom/seaborn/pull/2583).
PairGrid, and functions that use them, the matplotlib
figure.autolayout parameter is disabled to avoid having the legend overlap the plot (https://github.com/mwaskom/seaborn/pull/2571).
load_dataset helper now produces a more informative error when fed a dataframe, easing a common beginner mistake (https://github.com/mwaskom/seaborn/pull/2604).
|Fix| |Enhancement| Improved robustness to missing data, including some additional support for the
pd.NA type (https://github.com/mwaskom/seaborn/pull/2417, https://github.com/mwaskom/seaborn/pull/2435).
rugplot, fixed a bug where results were incorrect if the data axis had a log scale before plotting (https://github.com/mwaskom/seaborn/pull/2504).
histplot, fixed a bug where using
shrink with non-discrete bins shifted bar positions inaccurately (https://github.com/mwaskom/seaborn/pull/2477).
displot, fixed a bug where
common_norm=False was ignored when faceting was used without assigning
histplot, fixed two bugs where automatically computed edge widths were too thick for log-scaled histograms and for categorical histograms on the y axis (https://github.com/mwaskom/seaborn/pull/2522).
kdeplot, fixed a bug where the
alpha parameter was ignored when
kdeplot, fixed a bug where the
multiple parameter was ignored when
hue was provided as a vector without a name (https://github.com/mwaskom/seaborn/pull/2462).
displot, the default alpha value now adjusts to a provided
multiple parameter even when
hue is not assigned (https://github.com/mwaskom/seaborn/pull/2462).
displot, fixed a bug that caused faceted 2D histograms to error out with
rugplot, fixed a bug that prevented the use of datetime data (https://github.com/mwaskom/seaborn/pull/2458).
displot, fixed a bug where the dataframe attached to the returned
FacetGrid object dropped columns that were not used in the plot (https://github.com/mwaskom/seaborn/pull/2623).
relplot, fixed an error that would be raised when one of the column names in the dataframe shared a name with one of the plot variables (https://github.com/mwaskom/seaborn/pull/2581).
|Fix| In the relational plots, fixed a bug where legend entries for the
size semantic were incorrect when
size_norm extrapolated beyond the range of the data (https://github.com/mwaskom/seaborn/pull/2580).
regplot, fixed a bug where the x axis was clamped to the data limits with
lmplot, fixed a bug where
sharey=False did not always work as expected (https://github.com/mwaskom/seaborn/pull/2576).
heatmap, fixed a bug where vertically-rotated y-axis tick labels would be misaligned with their rows (https://github.com/mwaskom/seaborn/pull/2574).
|Fix| Fixed an issue that prevented Python from running in
-OO mode while using seaborn (https://github.com/mwaskom/seaborn/pull/2473).
|Docs| Improved the API documentation for theme-related functions (https://github.com/mwaskom/seaborn/pull/2573).
|Docs| Added docstring pages for all methods on documented classes (https://github.com/mwaskom/seaborn/pull/2644).