Violin plots are similar to boxplots which showcases the probability density along with interquartile, median and range at different values. They are more informative than boxplots which are used to showcase the full distribution of the data. They are also known to combine the features of histogram and boxplots.
They are mainly used to compare the distribution of different variables/columns in the dataset. There are different libraries used to plot this chart. The basic library that we can use is Matplotlib.
This recipe demonstrates how to make a violin plot using matplotlib
# importing matplotlib import matplotlib.pyplot as plt # importing numpy library to get 2 samples of normal distributions import numpy as np
We use np.random.normal(size = n) function to get the normal distribution array of size "n"
x = np.random.normal(size = 1000) # normal distribution with mean 10 and standard deviation 5 y = np.random.normal(10, 5, size = 1000) # creating a list of arrays for comparison in the later step l = [x, y]
We use violinplot() function to plot the chart.
Syntax: violinplot(dataset, showmeans=False, showextrema=True, showmedians=False, quantiles=None)
# Create a figure instance fig = plt.figure() # Create an axes instance ax = fig.add_axes([0,0,1,1]) # Create the boxplot bp = ax.violinplot(l, showmeans = True , showmedians = True, quantiles = [[0.25,0.75],[0.25,0.75]]) # Giving a title to the plot plt.title("Violin Plot") # Showcasing the plot plt.show()