# How To Make Ridgeline Plot with ggridges in R?

• Difficulty Level : Expert
• Last Updated : 05 Oct, 2021

The ridgeline plot allows the visualization of the distribution of a numeric variable for several categories together in a single plot. The ggridges package offers two types of ridgeline plot geoms:

• geom_ridgeline() uses the height values directly to draw ridgelines.
• geom_density_ridges() estimates densities and then makes ridgeline plot.

In this article, we will discuss how to plot the ridgeline plot using ggridges and ggplot2 library of R Programming language.

Syntax: ggplot(dataframe, aes(x , y , fill)) + geom_density_ridges()

### Example 1: Creating basic Ridgeline Plot

Here is a basic ridgeline plot. To draw a ridgeline plot we first take a data frame, which in the following example is diamonds data frame which is provided by R Language natively. Then We have used the geom_density_ridges() function to draw a ridgeline plot.

## R

 `# load library ggridges and ggplot2``library``(ggridges)``library``(ggplot2)`` ` `# Diamonds dataset is provided by R natively``# we will use that same dataset for our plot``# basic ridgeline plot using ggplot and ggridges``ggplot``(diamonds, ``aes``(x = price, y = cut)) +``  ``geom_density_ridges``()`

Output: ### Example 3: Log Scale customization

We can plot ridgeline plot with log-scale on x-axis using scale_x_continuous() function. To specify the type of transformation, we use “trans” parameter.

Syntax:

plot+ scale_x_continuous( trans )

## R

 `# load library ggridges and ggplot2``library``(ggridges)``library``(ggplot2)`` ` `# Diamonds dataset is provided by R natively``# we will use that same dataset for our plot``# basic ridgeline plot``ggplot``(diamonds, ``aes``(x = price, y = cut)) +``  ``geom_density_ridges``()+``scale_x_continuous``(trans=``"log10"``)``# converts scale to log scale`

Output: ### Example 3: Color customization

We can change the color of the plot with the help of the fill property of ggplot() function. We pass the variable as a parameter to fill according to which we want to color the plot.

## R

 `# load library ggridges and ggplot2``library``(ggridges)``library``(ggplot2)`` ` `# Diamonds dataset is provided by R natively``# we will use that same dataset for our plot``# basic ridgeline plot with color customization``ggplot``(diamonds, ``aes``(x = price, y = cut, fill=cut)) +``  ``geom_density_ridges``()`

Output: ### Example 4: Reordering of ridgeline plots

To reorder the ridgeline plot we use reorder() function of ggplot2. This reorders the plot according to the increasing order of mean of the parameter passed to reorder function. To reorder the plot in decreasing order, we pass the variable with -ve sign.

Syntax: ggplot(sample_data, aes(x=reorder(name,value),y=value))

## R

 `# load library ggridges and tidyverse``library``(ggridges)``library``(tidyverse)`` ` `# Diamonds dataset is provided by R natively``# we will use that same dataset for our plot``# basic ridgeline plot with color customization``# reorder plot using reorder() function``ggplot``(diamonds, ``aes``(x = price, y = ``fct_reorder``(cut,price), fill=cut)) +``  ``geom_density_ridges``()`

Output: My Personal Notes arrow_drop_up