Violin plots are a great way to visualize the distribution of data, and they can be especially useful when comparing multiple groups or datasets. While Excel doesn't have a built-in function for creating violin plots, there are several workarounds that can help you achieve this visualization. In this article, we'll explore five different methods for creating a violin plot in Excel.

What is a Violin Plot?
Before we dive into the methods, let's take a quick look at what a violin plot is. A violin plot is a type of data visualization that shows the distribution of a dataset. It's similar to a box plot, but instead of just showing the median, quartiles, and outliers, a violin plot also displays the kernel density estimation (KDE) of the data. This allows you to see the shape of the distribution and compare it to other datasets.
Method 1: Using a Box Plot with a Custom KDE
One way to create a violin plot in Excel is to use a box plot and add a custom KDE (kernel density estimation) to it. You can use the KERNEL.DENSITY
function in Excel to calculate the KDE values.
Step-by-Step Instructions
- Select your data range and go to the "Insert" tab in the ribbon.
- Click on "Box & Whisker" and select "Box Plot".
- Customize the box plot as needed.
- In a new column, calculate the KDE values using the
KERNEL.DENSITY
function. - Select the KDE values and go to the "Insert" tab in the ribbon.
- Click on "Area" and select "Area Chart".
- Customize the area chart to match the box plot.

Method 2: Using a Histogram with a Smooth Curve
Another way to create a violin plot in Excel is to use a histogram with a smooth curve. You can use the FREQUENCY
function in Excel to calculate the histogram values.
Step-by-Step Instructions
- Select your data range and go to the "Insert" tab in the ribbon.
- Click on "Histogram" and select "Histogram Chart".
- Customize the histogram as needed.
- In a new column, calculate the smooth curve values using the
TRENDLINE
function. - Select the smooth curve values and go to the "Insert" tab in the ribbon.
- Click on "Line" and select "Line Chart".
- Customize the line chart to match the histogram.

Method 3: Using a Density Plot Add-in
If you're looking for a more straightforward solution, you can use a density plot add-in for Excel. There are several add-ins available, including the "Density Plot" add-in from Excel-Tool.
Step-by-Step Instructions
- Download and install the "Density Plot" add-in.
- Select your data range and go to the "Density Plot" tab in the ribbon.
- Click on "Density Plot" and select "Violin Plot".
- Customize the violin plot as needed.

Method 4: Using a Third-Party Software
If you're looking for more advanced features and customization options, you can use a third-party software like Tableau or Power BI. These software programs offer a wide range of data visualization tools, including violin plots.
Step-by-Step Instructions
- Download and install Tableau or Power BI.
- Connect to your data source and select your data range.
- Drag and drop the data fields to the "Columns" and "Rows" shelves.
- Click on the "Show Me" button and select "Violin Plot".
- Customize the violin plot as needed.

Method 5: Using a Custom VBA Code
If you're comfortable with VBA programming, you can create a custom code to generate a violin plot in Excel.
Step-by-Step Instructions
- Open the Visual Basic Editor in Excel.
- Create a new module and paste the following code:
Sub ViolinPlot()
Dim dataRange As Range
Dim densityRange As Range
Dim plotRange As Range
Set dataRange = Range("A1:A100")
Set densityRange = Range("B1:B100")
Set plotRange = Range("C1:C100")
' Calculate KDE values
For i = 1 To dataRange.Rows.Count
densityRange.Cells(i, 1).Value = Application.Kernel.Density(dataRange.Cells(i, 1).Value, dataRange)
Next i
' Create violin plot
For i = 1 To plotRange.Rows.Count
plotRange.Cells(i, 1).Value = densityRange.Cells(i, 1).Value
Next i
End Sub
- Customize the code to match your data range and plot range.
- Run the code to generate the violin plot.

Gallery of Violin Plots
Violin Plot Examples










Conclusion
In this article, we've explored five different methods for creating a violin plot in Excel. Whether you're using a box plot with a custom KDE, a histogram with a smooth curve, or a third-party software, there's a method that's right for you. By following the step-by-step instructions and customizing the code to match your data range and plot range, you can create a beautiful and informative violin plot in Excel. So why not give it a try?