This article represents code examples for overlaying or creating density curve on Histogram using ggplot2 package in R programming. Please feel free to comment/suggest if I missed to mention one or more important points. Also, sorry for the typos.
Code Samples to Overlay Density Curve on Histogram
In the code examples below, diamonds data set belonging to ggplot2 package is used. One must load the ggplot2 package (require(“ggplot2”)) before executing the code samples given below.
# Most simplistic density curve
ggplot(diamonds, aes(x=carat)) + geom_histogram(aes(y=..density..)) +
geom_density() +
labs(title="Histogram & Density Curve", x="Carat")
Following diagram would get displayed by executing the above code.
# Density curve with histogram painted using body color as white and
# border color as red
ggplot(diamonds, aes(x=carat)) + geom_histogram(col="red", fill="white", aes(y=..density..)) +
geom_density() +
labs(title="Histogram & Density Curve", x="Carat")
Following diagram would get displayed by executing the above code.
# Density curve with border color as blue, body color as green and
# transparency index as 0.2;
ggplot(diamonds, aes(x=carat)) + geom_histogram(col="red", fill="white", aes(y=..density..)) +
geom_density(col="blue", fill="green", alpha=0.2) +
labs(title="Histogram & Density Curve", x="Carat")
Following diagram would get displayed by executing the above code.
Latest posts by Ajitesh Kumar (see all)
- Coefficient of Variation in Regression Modelling: Example - November 9, 2025
- Chunking Strategies for RAG with Examples - November 2, 2025
- RAG Pipeline: 6 Steps for Creating Naive RAG App - November 1, 2025



I found it very helpful. However the differences are not too understandable for me