matplotlib.pyplot.violinplot#
- matplotlib.pyplot.violinplot(dataset, positions=None, *, vert=None, orientation='vertical', widths=0.5, showmeans=False, showextrema=True, showmedians=False, quantiles=None, points=100, bw_method=None, side='both', data=None)[source]#
Make a violin plot.
Make a violin plot for each column of dataset or each vector in sequence dataset. Each filled area extends to represent the entire data range, with optional lines at the mean, the median, the minimum, the maximum, and user-specified quantiles.
- Parameters:
- datasetArray or a sequence of vectors.
The input data.
- positionsarray-like, default: [1, 2, ..., n]
The positions of the violins; i.e. coordinates on the x-axis for vertical violins (or y-axis for horizontal violins).
- vertbool, optional
Deprecated since version 3.10: Use orientation instead.
If this is given during the deprecation period, it overrides the orientation parameter.
If True, plots the violins vertically. If False, plots the violins horizontally.
- orientation{'vertical', 'horizontal'}, default: 'vertical'
If 'horizontal', plots the violins horizontally. Otherwise, plots the violins vertically.
Added in version 3.10.
- widthsfloat or array-like, default: 0.5
The maximum width of each violin in units of the positions axis. The default is 0.5, which is half the available space when using default positions.
- showmeansbool, default: False
Whether to show the mean with a line.
- showextremabool, default: True
Whether to show extrema with a line.
- showmediansbool, default: False
Whether to show the median with a line.
- quantilesarray-like, default: None
If not None, set a list of floats in interval [0, 1] for each violin, which stands for the quantiles that will be rendered for that violin.
- pointsint, default: 100
The number of points to evaluate each of the gaussian kernel density estimations at.
- bw_method{'scott', 'silverman'} or float or callable, default: 'scott'
The method used to calculate the estimator bandwidth. If a float, this will be used directly as
kde.factor
. If a callable, it should take amatplotlib.mlab.GaussianKDE
instance as its only parameter and return a float.- side{'both', 'low', 'high'}, default: 'both'
'both' plots standard violins. 'low'/'high' only plots the side below/above the positions value.
- dataindexable object, optional
If given, the following parameters also accept a string
s
, which is interpreted asdata[s]
ifs
is a key indata
:dataset
- Returns:
- dict
A dictionary mapping each component of the violinplot to a list of the corresponding collection instances created. The dictionary has the following keys:
bodies
: A list of thePolyCollection
instances containing the filled area of each violin.cmeans
: ALineCollection
instance that marks the mean values of each of the violin's distribution.cmins
: ALineCollection
instance that marks the bottom of each violin's distribution.cmaxes
: ALineCollection
instance that marks the top of each violin's distribution.cbars
: ALineCollection
instance that marks the centers of each violin's distribution.cmedians
: ALineCollection
instance that marks the median values of each of the violin's distribution.cquantiles
: ALineCollection
instance created to identify the quantile values of each of the violin's distribution.
See also
Axes.violin
Draw a violin from pre-computed statistics.
boxplot
Draw a box and whisker plot.
Notes
Note
This is the pyplot wrapper for
axes.Axes.violinplot
.
Examples using matplotlib.pyplot.violinplot
#
Box plot vs. violin plot comparison