The box plot in matplotlib is mainly used to displays a summary of a set of data having properties like minimum, first quartile, median, third quartile, and maximum.
- The Box Plot is also known as Whisker Plot.
- The box is created from the first quartile to the third quartile in the box plot, also there is a verticle line going through the box at the median.
- In the Box Plot, the x-axis indicates the data to be plotted while the y-axis denotes the frequency distribution.
Creating the Box Plot
The Box plot in the matplotlib library is usually created with the help of boxplot()
function.
- In the Box Plot the
numpy.random.normal()
is used to create some random data, it takes mean, standard deviation, and the desired number of values as its arguments. - The provided data values to the
ax.boxplot()
method can be a Numpy array or Python list or it can be Tuple of arrays
The required syntax for the boxplot()
function is as follows:
matplotlib.pyplot.boxplot(data, notch, vert, patch_artist, widths)
Following are the parameters of this function:
- dataThis parameter indicates the array or sequence of arrays needed to plot.
- notchThis is an optional parameter that accepts boolean values. It has
None
as default value. - vertThis is an optional parameter that accepts boolean values that is false for horizontal plot and true for vertical plot respectively.
- patch_artistThis is an optional parameter having boolean value with
None
as its default value - widthsThis is an optional parameter that accepts an array and used to set the width of boxes. The default value is
None
.
Now we will dive into some examples of creating a Box plot.
Creating a Box Plot Example:
The code for creating a simple Box plot in the Matplotlib library is as follows:
import matplotlib.pyplot as plt
value1 = [84,77,20,40,67,62,75,78,71,32,98,89,78,67,72,82,87,66,56,52]
value2=[62,5,91,25,35,32,96,99,3,90,95,34,27,55,100,15,71,11,37,21]
value3=[23,89,12,78,72,89,25,69,68,86,19,48,15,16,16,75,65,31,25,52]
value4=[59,73,73,16,81,61,88,98,10,87,29,72,16,23,72,88,78,99,75,30]
box_plot_data=[value1,value2,value3,value4]
plt.boxplot(box_plot_data)
plt.show()
Here is the output:

Creating a Box plot with Fills and Labels:
In the code snippet given below, we will provide a label to the box plot and will fill the box plot. Let us see the code for the example:
import matplotlib.pyplot as plt
value1 = [82,76,24,40,67,62,75,78,71,32,98,89,78,67,72,82,87,66,56,52]
value2=[62,5,91,25,36,32,96,95,3,90,95,32,27,55,100,15,71,11,37,21]
value3=[23,89,12,78,72,89,25,69,68,86,19,49,15,16,16,75,65,31,25,52]
value4=[59,73,70,16,81,61,88,98,10,87,29,72,16,23,72,88,78,99,75,30]
box_plot_data=[value1,value2,value3,value4]
plt.boxplot(box_plot_data,patch_artist=True,labels=['subject1','subject2','subject3','subject4'])
plt.show()
Here is the output:

Creating a Box plot with Notch:
In this example, we will plot a box plot having a notch.
import matplotlib.pyplot as plt
value1 = [84,76,24,46,67,62,78,78,71,38,98,89,78,69,72,82,87,68,56,59]
value2=[62,5,91,25,39,32,96,99,3,98,95,32,27,55,100,15,71,11,37,29]
value3=[23,89,12,78,72,89,25,69,68,86,19,49,15,16,16,75,65,31,25,52]
value4=[59,73,70,16,81,61,88,98,10,87,29,72,16,23,72,88,78,99,75,30]
box_plot_data=[value1,value2,value3,value4]
plt.boxplot(box_plot_data,notch='True',patch_artist=True,labels=['subject1','subject2','subject3','subject4'])
plt.show()
Here is the output:

Time For Live Example!
In this live example, we will draw a horizontal box plot having different colors.
