seaborn v0.9.1 Release Notes

Release Date: 2020-01-24 // about 4 years ago
  • ๐Ÿš€ This is a minor release with a number of bug fixes and adaptations to changes in seaborn's dependencies. There are also several new features.

    ๐Ÿ‘ This is the final version of seaborn that will support Python 2.7 or 3.5.

    ๐Ÿ†• New features

    • Added more control over the arrangement of the elements drawn by clustermap with the {dendrogram,colors}_ratio and cbar_pos parameters. Additionally, the default organization and scaling with different figure sizes has been improved.
    • โž• Added the corner option to PairGrid and pairplot to make a grid without the upper triangle of bivariate axes.
    • โž• Added the ability to seed the random number generator for the bootstrap used to define error bars in several plots. Relevant functions now have a seed parameter, which can take either fixed seed (typically an int) or a numpy random number generator object (either the newer numpy.random.Generator or the older numpy.random.mtrand.RandomState).
    • Generalized the idea of "diagonal" axes in PairGrid to any axes that share an x and y variable.
    • 0๏ธโƒฃ In PairGrid, the hue variable is now excluded from the default list of variables that make up the rows and columns of the grid.
    • ๐Ÿ”ฆ Exposed the layout_pad parameter in PairGrid and set a smaller default than what matptlotlib sets for more efficient use of space in dense grids.
    • ๐Ÿ‘ It is now possible to force a categorical interpretation of the hue varaible in a relational plot by passing the name of a categorical palette (e.g. "deep", or "Set2"). This complements the (previously supported) option of passig a list/dict of colors.
    • โž• Added the tree_kws parameter to clustermap to control the properties of the lines in the dendrogram.
    • โž• Added the ability to pass hierarchical label names to the FacetGrid legend, which also fixes a bug in relplot when the same label appeared in diffent semantics.
    • ๐Ÿ‘Œ Improved support for grouping observations based on pandas index information in categorical plots.

    ๐Ÿ› Bug fixes and adaptations

    • โš  Avoided an error when singular data is passed to kdeplot, issuing a warning instead. This makes pairplot more robust.
    • ๐Ÿ›  Fixed the behavior of dropna in PairGrid to properly exclude null datapoints from each plot when set to True.
    • ๐Ÿ›  Fixed an issue where regplot could interfere with other axes in a multi-plot matplotlib figure.
    • Semantic variables with a category data type will always be treated as categorical in relational plots.
    • โš  Avoided a warning about color specifications that arose from boxenplot on newer matplotlibs.
    • 0๏ธโƒฃ Adapted to a change in how matplotlib scales axis margins, which caused multiple calls to regplot with truncate=False to progressively expand the x axis limits. Because there are currently limitations on how autoscaling works in matplotlib, the default value for truncate in seaborn has also been changed to True.
    • Relational plots no longer error when hue/size data are inferred to be numeric but stored with a string datatype.
    • Relational plots now consider semantics with only a single value that can be interpreted as boolean (0 or 1) to be categorical, not numeric.
    • Relational plots now handle list or dict specifications for sizes correctly.
    • ๐Ÿ›  Fixed an issue in pointplot where missing levels of a hue variable would cause an exception after a recent update in matplotlib.
    • ๐Ÿ›  Fixed a bug when setting the rotation of x tick labels on a FacetGrid.
    • ๐Ÿ›  Fixed a bug where values would be excluded from categorical plots when only one variable was a pandas Series with a non-default index.
    • Fixed a bug when using Series objects as arguments for x_partial or y_partial in regplot.
    • ๐Ÿ›  Fixed a bug when passing a norm object and using color annotations in clustermap.
    • ๐Ÿ›  Fixed a bug where annotations were not rearranged to match the clustering in clustermap.
    • ๐Ÿ›  Fixed a bug when trying to call set while specifying a list of colors for the palette.
    • ๐Ÿ›  Fixed a bug when resetting the color code short-hands to the matplotlib default.
    • Avoided errors from stricter type checking in upcoming numpy changes.
    • โš  Avoided error/warning in lineplot when plotting categoricals with empty levels.
    • ๐Ÿ‘ Allowed colors to be passed through to a bivariate kdeplot.
    • Standardized the output format of custom color palette functions.
    • ๐Ÿ›  Fixed a bug where legends for numerical variables in a relational plot could show a surprisingly large number of decimal places.
    • ๐Ÿ‘Œ Improved robustness to missing values in distribution plots.
    • Made it possible to specify the location of the FacetGrid legend using matplotlib keyword arguments.