Violin Chart
A violin plot is a graphical method used to visualize the distribution of numerical data across different categories, combining elements of both box plots and kernel density plots. It shows the distribution’s shape and spread, giving insight into the density of the data at different values.
Each “violin” represents a category, where the width at a given point reflects the density or frequency of data points at that value. In addition to the density plot, it often includes elements of a box plot, such as the median, interquartile range, and potential outliers, providing a more complete view of the data’s variability and distribution.
Violin plots are especially useful when comparing multiple categories with complex or multimodal distributions.
This demo uses a regular XYChart with vertically-stacked Y-axes and filled Smoothed line series to replicate a violin plot behavior.
Related docs
Build this chart with AI
The prompt below can be used to build this chart with AI. For best coding results, use the most advanced AI models, like Claude Opus 4.6 and GPT-5.3-Codex. For more info and tips, check out amCharts AI docs.
Create a violin chart with vertically stacked panels, one per region (Americas, Europe, Asia, Africa). For each region, use approximately 200 random numerical values (range 46-88), grouped into small ranges, and calculate frequency counts. Render each region as a filled, smoothed area that is symmetrical, creating a violin shape where width represents data density. Share a single category axis with rotated labels. Hide the numeric axis labels but show region names as colored background badges. Enable pan on both axes, a horizontal scrollbar, an interactive cursor showing counts on hover, and mouse-wheel zoom. Animate the chart on load. Use amCharts 5 library.
Demo source