# Joy Plots Visualization in Python [Easy Guide]

Filed Under: Python Modules 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

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))
```