In this tutorial, will be discussing a rare type of plot known as Joy Plots using the JoyPy
library. The library is an open-source python library that is used to create Joy Plots.
Introduction to Joy Plots in Python
Ridgeline Plot or Joy Plot is a kind of chart that helps visualize distributions of several groups of a category in a dataset. Each category produces a density curve overlapping with each other which ends up creating a beautiful piece of the plot. One of many popular use cases of the Joy Chart is computing the numerical variable trend with time.
Implementing Joy Plots in Python
We will start by installing a JoyPy library by using the pip
command below.
pip install joypy
We will be importing the modules using the code below. For the datasets, we will be using the seaborn tips
dataset in the later section.
import joypy
import seaborn as sns
Also Read: Data Visualization with Python Seaborn and Pandas
Loading the Dataset
For this article, we will make use of the famous Tips
dataset which is already present in the seaborn
library.
DATA = sns.load_dataset('tips')
print(DATA)

Creating Basic Joy Plots
Now we will start by creating different types of plots using different columns of the dataset of the previous section. Look at the code below.
joypy.joyplot(DATA)

Plotting on the Basis of a Column
We can also look at how the data is distributed on the basis of a single column using the code below. We will be seeing the distribution on the basis of the gender of the person.
joypy.joyplot(DATA, by="sex")

Customize Plot Colours and Fade Attribute
We can add the fade
option to the Joy Plot to visualize overlapping density curves more clearly and also give colour
to all the density curves. Look at the code and output below!
joypy.joyplot(DATA, by = 'day', color = 'Orange', fade = True)

We can also specify the colormap
instead of a solid color using the code below. Look at the visual plot as well!
from matplotlib import cm
joypy.joyplot(DATA, by = 'day', colormap=cm.autumn, fade = True)

Customizing Joy Plots Layout and Size
We can change the range_style
to make the y-axis visible for the width of the curve and also set the figure size
as well. Look at the code below.
joypy.joyplot(DATA, by = 'sex', colormap = cm.autumn, fade = True,
range_style='own', figsize = (10,6))

Conclusion
In this article, we learned about Joy Plots, and how to plot them in Python. We also learned how to beautify and customize our plots to maximize the information we gain from the plots.
Hope you liked the tutorial! Thank you for reading!