Violin Plot


Violin Plot Product feedback tool
Table of Contents

A violin plot is a combination between a box plot and a kernel density plot that displays data peaks. It’s used to show how numerical data is distributed. In contrast to a box plot, which can only provide summary statistics, violin plots show summary statistics as well as the density of each variable.

What Is A Violin Plot?

A violin plot is a type of quantitative data visualization. It’s similar to a box plot, however on each side there’s a rotating kernel density plot. Typically, a violin plot will include all the data that is in a box plot: a marker for the data’s median; a box or marker representing the interquartile range; and, assuming the number of samples is not too large, all sample points.

Violin plots are available as extensions to a variety of software packages, including CRAN’s Data Visualization and PyPI’s md-plot package.

Violin plots, like box plots, are used to examine a variable distribution (or sample distribution) across distinct “categories” (for example, temperature distribution compared between day and night, or distribution of car prices compared across different car makers). Layers can be added to a violin plot. For example, the outside form represents all conceivable outcomes. The values that occur 95% of the time may be represented by the next layer inside. Inside, the following layer (if it exists) may represent the values that occur 50% of the time.

They are less common than box plots despite being more informative. Because of their obscurity, their meaning might be difficult to understand for many readers who are unfamiliar with the violin story portrayal. In this scenario, plotting a series of stacked histograms or kernel density distributions may be a more approachable option.

Exploratory Research Guide

Conducting exploratory research seems tricky but an effective guide can help.

How To Read A Violin Plot?

  • The white dot denotes the median.
  • The interquartile range is shown by the broad gray bar in the middle.
  • Except for points considered to be “outliers” using an interquartile range-based technique, the thin gray line reflects the remainder of the distribution.
  • A kernel density estimation is shown on either side of the gray line to indicate the distribution shape of the data. The violin plot’s wider parts reflect a larger possibility that individuals of the population will take on the given value, while the skinnier sections imply a lesser probability.

Best Practice To Use A Violin Plot


When the groups in a violin plot do not have an intrinsic ordering, the order in which the groups are plotted can be changed to make it simpler to derive insights from the data. Sorting groups by median value, for example, makes the ordering of groups clearly apparent.

Common Violin Plot Option


Violin plots may be fairly restrictive on their own. It might be difficult to conduct exact comparisons of density curves between groups if symmetry, skew, or other shape and variability features change between groups. As a result, violin charts are often shown with another superimposed chart type.

The box plot is the most typical addition to the violin plan. This addition is frequently assumed by default; the violin plot is sometimes described as a hybrid of KDE and box plot. To decrease visual noise, just a subset of box plot elements, such as three lines representing quartile positions without whiskers, will be presented in some circumstances.

Instead of a box plot, alternative distribution plots might be overlay. A rug plot or strip plot, like a 1-d scatter plot, adds each data point to the central line as a tick mark or dot. To avoid overlaps, a swarm plot offsets the data points from the center line. Jittering points from the center line is an alternate approach that is easier to implement but does not ensure overlap avoidance.

These alternate chart overlays work well when each group has a small to medium amount of data points. While displaying individual data points helps illustrate how the density curves were constructed and reveal information about group size that is not generally visible in a violin plot, their presence adds chart noise and can be distracting. Furthermore, once the group sizes are high enough, the distribution estimates from the density curve and box plot will be stable enough to offer useful information.

Types Of Violin Plot


It comprises observations on the specific feed type, sex, and weight of 71 six-week-old baby chickens (called chicks). This violin plot depicts the link between feed type and chick weight. The box plot features reveal that horsebean-fed chicks have a lower median weight than other feed types. The distribution’s form (very slender on each end and broad in the center) shows that the weights of sunflower-fed chicks are significantly concentrated around the median.


Horizontal violin plots, like horizontal bar charts, are great for dealing with a wide range of categories. By switching the axis, the category labels are given additional breathing area. The usual box plot parts and plot can be omitted, and each observation can be represented as a point. When your dataset contains observations for a full population, points come in useful (rather than a select sample). There is no need to make conclusions for an unseen population when the entire population is available. When the kernel bandwidth is reduced, the plots become lumpier, which can help identify tiny clusters, such as the tail of casein-fed chicks.


Violin plots can be arranged using either vertical or horizontal density curves. Horizontally-oriented violin plots are useful for displaying long group names or when plotting a large number of groups. When we require enough area to properly examine the contour of a density curve, it is frequently better to enlarge a plot on its vertical axis rather than its horizontal axis.


A second-order categorical variable can also be represented by a violin plot. Within each category, groups can be created. For example, creating a plot that differentiates between male and female chicks within each meal type group.

Female chicks weigh less than males in each feed type category, according to the grouped violin plot. Furthermore, inferences may be drawn regarding how the sex delta changes among categories: the median weight difference is greater for linseed-fed chicks than for soybean-fed chicks.


Rather of generating separate plots for each group within a category, you may use split violins and replace the box plot with dashed lines showing the quartiles for each group.

The distributions of each group can be easily compared using the split violins. For example, female sunflower-fed chicks have a long-tail distribution below the first quartile, but males have a long-tail distribution above the third quartile.

See Voxco survey software in action with a Free demo.


  • Violin plots enable fast approximation of where the data is centered and how it is distributed.

Because a violin plot incorporates a boxplot, the center and spread may be interpreted similarly to a boxplot.

  • Violin plots, which include a probability density function, indicate the form of the distribution.

A violin plot is a boxplot with a probability density function (PDF) superimposed on top. A PDF is simply a smoothed histogram that indicates the frequency with which each value occurs. A PDF, as opposed to a histogram, delivers a smoother distribution by smoothing out the noise. The PDF is rotated and symmetrically orientated along the length of a boxplot in a violin plot, so that the width of the PDF reflects how frequently that value appears in the data set. A more pronounced density function suggests that the value occurs more frequently. A smaller density function suggests that the value is less common.

  • The use of a continuous function eliminates the need to select bins, which is a significant benefit of PDFs over histograms. This produces a more natural-looking distribution regardless of the number of bins used.
  • Violin plot is ideal for bimodal data

Boxplots cannot discriminate between unimodal and bimodal data on their own. Consider the following comparison of three boxplots and three violin plots. The boxplots for bimodal (blue) and uniform (purple) data sets are practically indistinguishable, however the violin plots clearly highlight the bimodal data set’s two modes and can also demonstrate that the uniform data set is uniformly distributed.

  • Violin plot can be used to compare data 

Violin plots, like histograms, boxplots, and barplots, are excellent for comparing two data sets to understand how they differ.

Read more