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 function pairplot, 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 in PairGrid is 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_norm
to distplot. When a distplot 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_norm
toTrue
. - When using FacetGrid with a
hue
variable, the legend is no longer
drawn by default when you call FacetGrid.map. Instead, you have to
call FacetGrid.add_legend manually. This should make it easier to
layer multiple plots onto the grid without having duplicated
legends. - Made some changes to factorplot so that it behaves better when not
all levels of thex
variable are represented in each facet. - Added the
logx
option to regplot 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 the choose_cubehelix
which will launch an interactive app to select cubehelix parameters
in the notebook. - Added the xkcd_palette and the
xkcd_rgb
dictionary so that colors
can be specified with names from the xkcd
color
survey. - Added the
font_scale
option to plotting_context, set_context,
and set.font_scale
can 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 thefont.sans-serif
field to the
axes_style
definition with Arial and Liberation Sans prepended to
matplotlib defaults. The font family can also be set through the
font
keyword argument in set. Due to matplotlib bugs, this might
not work as expected on matplotlib 1.3. - The despine function gets a new keyword argument
offset
, which
replaces the deprecated offset_spines function. You no longer need
to offset the spines before plotting data. - Added a default value for
pdf.fonttype
so that text in PDFs is
editable in Adobe Illustrator.
Other API Changes
- Removed the deprecated
set_color_palette
andpalette_context
functions. These were replaced in version 0.3 by the set_palette
function and ability to use color_palette directly in awith
statement. - Removed the ability to specify a
nogrid
style, which was renamed
towhite
in 0.3.