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 inPairGrid
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
todistplot()
. 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_norm
toTrue
.When using
FacetGrid
with ahue
variable, 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
factorplot
so that it behaves better when not all levels of thex
variable are represented in each facet.Added the
logx
option 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_rgb
dictionary so that colors can be specified with names from the xkcd color survey.Added the
font_scale
option toplotting_context()
,set_context()
, andset()
.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 the
font.sans-serif
field to theaxes_style
definition with Arial and Liberation Sans prepended to matplotlib defaults. The font family can also be set through thefont
keyword 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.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 theset_palette()
function and ability to usecolor_palette()
directly in awith
statement.Removed the ability to specify a
nogrid
style, which was renamed towhite
in 0.3.