v0.4.0 (September 2014)#
This is a major release from 0.3. Highlights include new approaches for quick, high-level dataset exploration (along with a more flexible interface) and easy creation of perceptually-appropriate color palettes using the cubehelix system. Along with these additions, there are a number of smaller changes that make visualizing data with seaborn easier and more powerful.
Plotting functions#
A new object,
PairGrid, and a corresponding functionpairplot(), for drawing grids of pairwise relationships in a dataset. This style of plot is sometimes called a “scatterplot matrix”, but the representation of the data inPairGridis flexible and many styles other than scatterplots can be used. See the docs for more information. Note: due to a bug in older versions of matplotlib, you will have best results if you use these functions with matplotlib 1.4 or later.The rules for choosing default color palettes when variables are mapped to different colors have been unified (and thus changed in some cases). Now when no specific palette is requested, the current global color palette will be used, unless the number of variables to be mapped exceeds the number of unique colors in the palette, in which case the
"husl"palette will be used to avoid cycling.Added a keyword argument
hist_normtodistplot(). When adistplot()is now drawn without a KDE or parametric density, the histogram is drawn as counts instead of a density. This can be overridden by by settinghist_normtoTrue.When using
FacetGridwith ahuevariable, the legend is no longer drawn by default when you callFacetGrid.map(). Instead, you have to callFacetGrid.add_legend()manually. This should make it easier to layer multiple plots onto the grid without having duplicated legends.Made some changes to
factorplotso that it behaves better when not all levels of thexvariable are represented in each facet.Added the
logxoption toregplot()for fitting the regression in log space.When
violinplot()encounters a bin with only a single observation, it will now plot a horizontal line at that value instead of erroring out.
Style and color palettes#
Added the
cubehelix_palette()function for generating sequential palettes from the cubehelix system. See the palette docs for more information on how these palettes can be used. There is also thechoose_cubehelix()which will launch an interactive app to select cubehelix parameters in the notebook.Added the
xkcd_palette()and thexkcd_rgbdictionary so that colors can be specified with names from the xkcd color survey.Added the
font_scaleoption toplotting_context(),set_context(), andset().font_scalecan independently increase or decrease the size of the font elements in the plot.Font-handling should work better on systems without Arial installed. This is accomplished by adding the
font.sans-seriffield to theaxes_styledefinition with Arial and Liberation Sans prepended to matplotlib defaults. The font family can also be set through thefontkeyword argument inset(). Due to matplotlib bugs, this might not work as expected on matplotlib 1.3.The
despine()function gets a new keyword argumentoffset, which replaces the deprecatedoffset_spines()function. You no longer need to offset the spines before plotting data.Added a default value for
pdf.fonttypeso that text in PDFs is editable in Adobe Illustrator.
Other API Changes#
Removed the deprecated
set_color_paletteandpalette_contextfunctions. These were replaced in version 0.3 by theset_palette()function and ability to usecolor_palette()directly in awithstatement.Removed the ability to specify a
nogridstyle, which was renamed towhitein 0.3.