v0.8.0 (July 2017)#

  • The default style is no longer applied when seaborn is imported. It is now necessary to explicitly call set() or one or more of set_style(), set_context(), and set_palette(). Correspondingly, the seaborn.apionly module has been deprecated.

  • Changed the behavior of heatmap() (and by extension clustermap()) when plotting divergent dataesets (i.e. when the center parameter is used). Instead of extending the lower and upper limits of the colormap to be symmetrical around the center value, the colormap is modified so that its middle color corresponds to center. This means that the full range of the colormap will not be used (unless the data or specified vmin and vmax are symmetric), but the upper and lower limits of the colorbar will correspond to the range of the data. See the Github pull request (#1184) for examples of the behavior.

  • Removed automatic detection of diverging data in heatmap() (and by extension clustermap()). If you want the colormap to be treated as diverging (see above), it is now necessary to specify the center value. When no colormap is specified, specifying center will still change the default to be one that is more appropriate for displaying diverging data.

  • Added four new colormaps, created using viscm for perceptual uniformity. The new colormaps include two sequential colormaps (“rocket” and “mako”) and two diverging colormaps (“icefire” and “vlag”). These colormaps are registered with matplotlib on seaborn import and the colormap objects can be accessed in the seaborn.cm namespace.

  • Changed the default heatmap() colormaps to be “rocket” (in the case of sequential data) or “icefire” (in the case of diverging data). Note that this change reverses the direction of the luminance ramp from the previous defaults. While potentially confusing and disruptive, this change better aligns the seaborn defaults with the new matplotlib default colormap (“viridis”) and arguably better aligns the semantics of a “heat” map with the appearance of the colormap.

  • Added "auto" as a (default) option for tick labels in heatmap() and clustermap(). This will try to estimate how many ticks can be labeled without the text objects overlapping, which should improve performance for larger matrices.

  • Added the dodge parameter to boxplot(), violinplot(), and barplot() to allow use of hue without changing the position or width of the plot elements, as when the hue variable is not nested within the main categorical variable.

  • Correspondingly, the split parameter for stripplot() and swarmplot() has been renamed to dodge for consistency with the other categorical functions (and for differentiation from the meaning of split in violinplot()).

  • Added the ability to draw a colorbar for a bivariate kdeplot() with the cbar parameter (and related cbar_ax and cbar_kws parameters).

  • Added the ability to use error bars to show standard deviations rather than bootstrap confidence intervals in most statistical functions by putting ci="sd".

  • Allow side-specific offsets in despine().

  • Figure size is no longer part of the seaborn plotting context parameters.

  • Put a cap on the number of bins used in jointplot() for type=="hex" to avoid hanging when the reference rule prescribes too many.

  • Changed the y axis in heatmap(). Instead of reversing the rows of the data internally, the y axis is now inverted. This may affect code that draws on top of the heatmap in data coordinates.

  • Turn off dendrogram axes in clustermap() rather than setting the background color to white.

  • New matplotlib qualitative palettes (e.g. “tab10”) are now handled correctly.

  • Some modules and functions have been internally reorganized; there should be no effect on code that uses the seaborn namespace.

  • Added a deprecation warning to tsplot function to indicate that it will be removed or replaced with a substantially altered version in a future release.

  • The interactplot and coefplot functions are officially deprecated and will be removed in a future release.