Violin Plot based on kernel density estimation, using default ksdensity
This function creates simple violin plots by estimating the kernel density, using matlabs default ksdensity(). Given a matrix or table with m columns, you will get violins for each of the columns
- 25.5K (All time)
- 115 (Last 30 days)
- 4.9 / 5
- Community
-
3 Nov 2015
Violin Plots for plotting multiple distributions (distributionPlot.m)
Function for plotting multiple histograms side-by-side in 2D - better than boxplot.
The zip-file contains the following files for visualizing distributions:- distributionPlot.m: main function that allows creating violin plots - myHistogram.m: generate histograms with 'ideal' bin
- 14.8K (All time)
- 14 (Last 30 days)
- 5.0 / 5
- Community
-
11 Feb 2017
Management of data tables, similar to dataframe in R, with enhanced plotting facilities.
array together with row names, column names, table name. It also supports factor columns, such as categorical factors ("yes", "no"). Several utility methods are provided, and many plot functions have been
- 2.6K (All time)
- 15 (Last 30 days)
- 5.0 / 5
- Community
-
29 Feb 2024
Statistical testing and plots with significance level
Basic representations of two data groups as stripcharts and violin plots. Mann-Whitney U test and t-test are performed with significance level indicators.Dot plots and violin plots are described here
- 267 (All time)
- 4 (Last 30 days)
- 5.0 / 5
- Community
-
31 Oct 2023
daviolinplot - violin and raincloud plots
Stylish and comprehensive 2-level factorial data plotting using violin plots, half-violin plots, boxplots, raincloud plots, and dotplots
. It combines boxplots, kernel density, and data scatter to produce different hybrids of violin plots, half-violin plots, raincloud plots, and dotplots. Kernel density highlights the overall shape of the
- 2.9K (All time)
- 36 (Last 30 days)
- 5.0 / 5
- Community
-
8 Jan 2025
al_goodplot - boxblot & violin plot
A data distribution visualization that notably includes boxplots and violin plots in a light and clear manner.
The visualization includes: - Raw data - Mean - Median - Standard deviation - Boxplot - Notch - Violin plot (Parzen)Ideal for group comparison, before/after change assessment...Can be typically used
- 1.7K (All time)
- 4 (Last 30 days)
- 4.7 / 5
- Community
-
17 Dec 2021
- 484 (All time)
- 3 (Last 30 days)
- 5.0 / 5
- Community
-
23 Jul 2020
- 1.1K (All time)
- 6 (Last 30 days)
- 4.5 / 5
- Community
-
14 Aug 2023
- 3.3K (All time)
- 1 (Last 30 days)
- 4.0 / 5
- Community
-
9 Apr 2021
The COnstraint-Based Reconstruction and Analysis Toolbox
Creation and analysis of biochemical constraint-based models: the COBRA Toolbox v3.0
- 4.9K (All time)
- 50 (Last 30 days)
- 3.7 / 5
- Community
-
1 Feb 2024
Scatter plot with dispersion along the x-axis to reflect the point density
Scatter plot with categories on the x-axis, with width determined by data point density (like a violin plot but with the width of the violin not explicitly drawn but rather setting the x-axis
- 195 (All time)
- 3 (Last 30 days)
- 5.0 / 5
- Community
-
3 Jun 2019
Violin plot
Simple violin plot function using 'fitdist' and 'patch' function.Options to make 1-sided violins, rotate the violin horizontally and add a line for the median.
- 530 (All time)
- 2 (Last 30 days)
- 3.7 / 5
- Community
-
13 Aug 2019
Creates (scatter, contour, regression, etc.) main plot with upper and right marginal distributions (histogram, boxplot, violin, rug, etc.).
Kernel density area + line% 5 | 'kd-hist' | Histogram overlayed with kernel density line% 6 | 'box' | Box plot (median, quartiles, outliers)% 7 | 'violin' | Full violin plot
- 236 (All time)
- 12 (Last 30 days)
- 5.0 / 5
- Community
-
29 Apr 2026
Generate beautiful violin plots with professional themes.
Basic usage% X - Group positions.% Y - Matrix data.X = 1:5;Y = randn(100, 5);violinChart(gca, X, Y, 'Width',.8);legend()Categorical dataX = randi([1, 5], [1, 200]);Y = randn(1, 200) + sin(X);hdl =
- 311 (All time)
- 9 (Last 30 days)
- -- / 5
- Community
-
11 May 2026
ggtheme for Common Plotting Functions
Apply professional theme styles to common MATLAB plotting functions (bar, line, area, box, violin). Inspired by R's ggthemr package.
')%% Apply ggtheme styling to both subplotspause(.5)ggThemeBar(ax1, 'dust');ggThemeBar(ax2, 'dust');exportgraphics(gcf, '_demoBar_gg.png')Basic usage - plot% demoPlotfigure('Units','normalized
- 8 (All time)
- 8 (Last 30 days)
- 5.0 / 5
- Community
-
12 May 2026
- 22 (All time)
- 4 (Last 30 days)
- -- / 5
- Community
-
8 Nov 2023
Violin Plot with mean, median and interquartile range
get violin plots from your data
% This function generates a violin plot for each dataset provided as input. % Violin plots are estimated from histcounts MATLAB function. % The thick line in the box represents the
- 42 (All time)
- 3 (Last 30 days)
- -- / 5
- Community
-
8 Nov 2024
Multidimensional Analysis Pipeline for Histocytometry (CytoMAP) https://gitlab.com/gernerlab/cytomap
- 569 (All time)
- 16 (Last 30 days)
- -- / 5
- Community
-
22 Apr 2023
violin plots for strictly positive data.
: https://fr.mathworks.com/matlabcentral/fileexchange/23661-violin-plots-for-plotting-multiple-distributions-distributionplot-m
- 59 (All time)
- 2 (Last 30 days)
- -- / 5
- Community
-
11 Dec 2018
gQSPsim
parallel cohort generation and simulation* improved cross-platform compatibility of sessions* limit configurable number of traces to show when rendering plots* improvements to selection of rules/reactions to
- 342 (All time)
- 2 (Last 30 days)
- -- / 5
- Community
-
14 Aug 2023
Violin Plots for Matlab
Violin Plots for MatlabA violin plot is an easy to read substitute for a box plot thatreplaces the box shape with a kernel density estimate of the data, andoptionally overlays the data points itself
- 2.6K (All time)
- 84 (Last 30 days)
- -- / 5
- Community
-
23 Jul 2024
GroupDistributionPlot: Violin, Sina, Box & Histogram
Grouped violin, sina scatter, box, and histogram plots for 1–2 categorical factors.Colorblind-safe palettes. Publication-ready MATLAB output
featuresFour complementary plot elements can be shown simultaneously or in any combination:Violin plot — kernel density estimate rendered as a filled polygon, with optional symmetric, left-only, or right-only
- 7 (All time)
- 7 (Last 30 days)
- -- / 5
- Community
-
28 Apr 2026
This function generates a violin plot with the IQR and median value highlighted.
This function generates a violin plot with the IQR and median value highlighted.
- 21 (All time)
- 2 (Last 30 days)
- -- / 5
- Community
-
19 Jun 2023
An open-source MATLAB tool for drawing box plot and violin plot with automatic multi-way data grouping.
grpandplot: An open-source MATLAB tool for drawing box plot and violin plot with automatic multi-way data grouping.Man Ho Wong, 2022.Introductiongrpandplot features data grouping by multiple factors
- 426 (All time)
- 7 (Last 30 days)
- -- / 5
- Community
-
19 Apr 2023
- Combined Sina, Violin, and Box plot with stats panel
sinaViolinBoxPlot is a versatile MATLAB function for visualizing grouped data distributions. It combines the strengths of three common plot types:Violin plots using KDE for smooth density
- 11 (All time)
- 1 (Last 30 days)
- 5.0 / 5
- Community
-
5 Dec 2025
Draw a box plot with various display options
Automated construction of a legend. - Set box limits as percentiles. - Set whisker extent via various methods.- Use of weighted quantiles.- Creation of violin plots.
- 10.9K (All time)
- 8 (Last 30 days)
- 4.7 / 5
- Community
-
28 Jun 2017
- 68 (All time)
- 1 (Last 30 days)
- -- / 5
- Community
-
20 Dec 2018
Bode plot with asymptotes
The function asymp() corresponds to bode(), but it also plots asymptotes for the magnitude and phase graphs. Phase asymptotes are only horizontal and vertical. asymp() only accepts SISO transfer
- 28.8K (All time)
- 116 (Last 30 days)
- 4.7 / 5
- Community
-
22 Sep 2020
plot spread points (beeswarm plot)
plotSpread plots distributions of data points, adding jitter to the points to avoid overlap.
plotSpread allows creating "beeswarm plots", i.e. point distributions where jitter has been added to the data points to avoid overlap.It further allows specifying groups within the data to show the
- 12.8K (All time)
- 6 (Last 30 days)
- 4.9 / 5
- Community
-
11 Feb 2017
Plot the phase portrait for the entered system of differential equations
using the app. The app works with limited functionality for versions preceding R2020b. For versions prior to R2020b, mouse click interactions with the plots (adding trajectories and guessing solutions) do
- 8.6K (All time)
- 59 (Last 30 days)
- 5.0 / 5
- Community
-
28 Mar 2021
Object-oriented tools to fit/plot conics and quadrics
A tool set for fitting and/or plotting various conics and quadric surfaces, e.g., ellipses, cylinders, spheres, planes, cones, and lines.
This FEX submission offers a tool set for fitting and plotting 2D conics (ellipses, circles, lines,...) as well as 3D quadric surfaces (ellipsoids, spheres, planes, cylinders, cones,...). Each type
- 2.3K (All time)
- 9 (Last 30 days)
- 5.0 / 5
- Community
-
8 Feb 2024
- 7.1K (All time)
- 16 (Last 30 days)
- 4.7 / 5
- Community
-
31 Oct 2012
Plots 3d polar data with polar axis and polar grid
Polarplot3d produces surface, mesh, wireframe and contour plots for three dimensional polar data. A labeled polar axis is drawn at a fixed height or it can follow the surface contour at maximum
- 25.7K (All time)
- 14 (Last 30 days)
- 4.9 / 5
- Community
-
4 Mar 2016
This function plots a line vector with arrow head.
Arrowline 3-D vector plot.vectarrow(p0,p1) plots a line vector with arrow pointing from point p0 to point p1. The function can plot both 2D and 3D vector with arrow depending on the dimension of the
- 42.7K (All time)
- 156 (Last 30 days)
- 3.8 / 5
- Community
-
20 Apr 2005
Produces a plot who's y-axis skips to avoid unnecessary blank space
Produces a plot who's y-axis skips to avoid unecesary blank spaceReplaces BREAKAXIS
- 16.8K (All time)
- 11 (Last 30 days)
- 5.0 / 5
- Community
-
12 Nov 2008
Generate a bar plot with multiple stacks grouped together.
Plot a set of stacked bars, but group them according to labels provided.Params: stackData is a 3D matrix (i.e., stackData(i, j, k) => (Group, Stack, StackElement)) groupLabels is a CELL
- 12.5K (All time)
- 5 (Last 30 days)
- 4.8 / 5
- Community
-
13 Sep 2011
This simple code enables you to plot using custom markers.
This simple code enables you to plot using custom markers. It uses custom patches instead of Matlab built-in markers.As the input, you need to provide x and y for the data points, like you do in
- 2.4K (All time)
- 4 (Last 30 days)
- 4.9 / 5
- Community
-
17 Dec 2012
Create a spider or radar plot with individual axes.
[](https://www.mathworks.com/matlabcentral/fileexchange/59561-spider_plot)[![Open in
- 16.3K (All time)
- 93 (Last 30 days)
- 4.9 / 5
- Community
-
19 Apr 2026
The program plots convex linear closed regions in 2D/3D.
The program plots convex linear closed regions in 2D/3D. The region is a subset of R2 or R3 such that Ax>=b and lb<=x<=ub. It is also possible to plot points in the same plot.(See help
- 16.8K (All time)
- 3 (Last 30 days)
- 4.6 / 5
- Community
-
24 Jun 2025
Plot a google map on the background of the current figure using the Static Google Maps API.
plot_google_map.m uses the Google Maps API to plot a map in the background of the current figure. It assumes the coordinates of the current figure are in the WGS84 datum, and uses a conversion code
- 31.9K (All time)
- 19 (Last 30 days)
- 4.9 / 5
- Community
-
22 Apr 2020
dabarplot - beautiful grouped and stacked bar plots
Bar plots for multiple conditions and groups (part of a larger toolbox for 2-level factorial data)
highlighitng data distribution properties. It combines boxplots, kernel density, and data scatter to produce different hybrids of violin plots, half-violin plots, raincloud plots, and dotplots. Kernel density
- 379 (All time)
- 6 (Last 30 days)
- 5.0 / 5
- Community
-
16 Jul 2024
Makes MATLAB's line plots much faster.
This simple tool intercepts data going into a plot and reduces it to the smallest possible set that looks identical given the number of pixels available on the screen. It then updates the data as a
- 5.5K (All time)
- 7 (Last 30 days)
- 4.8 / 5
- Community
-
12 Jun 2015
AbstractGeek/CategoricalScatterplot
An improved box plot that shows the data-points along with the median and the quartiles.
underlying distribution (similar to violin plots).The code is designed to be an extremely customizable alternate for the built in boxplot function in MATLAB. The syntax is very similar to that of boxplot.
- 669 (All time)
- 1 (Last 30 days)
- 5.0 / 5
- Community
-
13 Dec 2016
Professional Standard Plots within Seconds!!! Take your plots to the next level.
Create Professional standard plots in seconds, without a steep learning curve and with consistency. This Toolbox is supposed to help 'Beginners' take their plots to the next level with essentially
- 4.4K (All time)
- 17 (Last 30 days)
- 4.7 / 5
- Community
-
19 Oct 2022
Creates a contour plot from polar coordinates
Have you ever wanted to do a contour plot of data in polar coordinates but didn't want to go through the hassle of converting it all to Cartesian coordinates? Well if so, here's your answer. A
- 5.7K (All time)
- 1 (Last 30 days)
- 4.4 / 5
- Community
-
18 Jun 2007
Making Surface Plots From Scatter Data
How to turn a collection of XYZ triplets into a surface plot.
How do you turn a collection of XYZ triplets into a surface plot? This is the most frequently asked 3D plotting question that I got when I was in Tech Support. This submission explains how.
- 38.6K (All time)
- 7 (Last 30 days)
- 4.6 / 5
- Community
-
1 Sep 2016
Zip file contains program to make different ternary plots.
This zip files contains programs (five functions, one example program, and one sample data set) to plot data in ternary diagrams. The first option is a pseudo color plot, the second is a contour plot
- 16.1K (All time)
- 28 (Last 30 days)
- 4.5 / 5
- Community
-
6 Jun 2005
Polar plots with handle graphics type parameter setting. Includes log radius support.
Attempts to bring comprehensive handle graphics capabilities to polar plots.
- 5.4K (All time)
- 3 (Last 30 days)
- 4.9 / 5
- Community
-
31 Oct 2012
ScrollPlot - scrollable X/Y axes
ScrollPlot adds a scroll sub-window to any supplied plot handles
ScrollPlot adds a scroll sub-window to any supplied plot handles (or current [gca] axes if no handle was supplied). This enables easy plot or image exploration. The user can specify initial view
- 10.4K (All time)
- 3 (Last 30 days)
- 4.8 / 5
- Community
-
16 Jul 2015
Figure to play and analyze videos with custom plots on top
A figure ready to scroll through and play videos. You can also draw any custom graphics on it.
redraw at scroll position F (for example, REDRAW_FUNC can show the frame F of a video).This can be used not only to play and analyze standard videos, but it also lets you place any custom Matlab plots and
- 3.4K (All time)
- 4 (Last 30 days)
- 5.0 / 5
- Community
-
12 Dec 2010
MATLAB Plot Gallery - Plot in Plot
Create a plot in plot
This is an example of how to create an inset plot within another plot in MATLAB®.Read about the "axes" function in the MATLAB documentation.For more examples, go to MATLAB Plot Gallery -
- 4K (All time)
- 2 (Last 30 days)
- 5.0 / 5
- Community
-
19 Dec 2018
Plots data density of a two-dimensional distribution for human viewing.
Data density can be hard to read from scatter plots due to overstriking. I therefore calculate data density at each pixel as the reciprocal of the sum of squared distance from each point, adding a
- 6.9K (All time)
- 4 (Last 30 days)
- 4.1 / 5
- Community
-
29 Nov 2014
Plotting function that allows for N y-axes using a common x axis
This function allows for results to be plotted on N separate y-axes. These y-axes share a common x axis, but do not need to share exactly the same x/y data or size. The function supports all
- 3.4K (All time)
- 31 (Last 30 days)
- 4.9 / 5
- Community
-
11 Aug 2019
Adds zoomed plot inset to current axes.
Adds a zoomed plot inset to current axes, for use in highlighting a subarea of the current plot. [p,z] = zoomPlot(x,y,xbounds,pos,vertex) where: Inputs:x,y = vectors being plottedxbounds =
- 4.4K (All time)
- 15 (Last 30 days)
- 4.5 / 5
- Community
-
23 Oct 2016
Simply plot filled circles or circle outlines.
Adding to the mix of circle plotters on the File Exchange site, this function plots any number of circles of any size and x,y location. Inputs can be any logical mix of scalars, vectors, or N-D
- 4.9K (All time)
- 7 (Last 30 days)
- 4.8 / 5
- Community
-
20 May 2019
Digitize chart data from an image.
Digitizer extracts data points from an image file. Plots in X/Y and Polar can be digitized.Demonstration of usage can be found at: https://youtu.be/zNYWioXi98wDigitizer is an app where you load an
- 1.8K (All time)
- 126 (Last 30 days)
- 5.0 / 5
- Community
-
6 Nov 2025
contourfcmap: filled contour plot with precise colormap
Creates a filled contour plot, with more precise control over colors than contourf.
# contourfcmap.m: filled contour plot with precise colormap[![View contourfcmap: filled contour plot with precise colormap on File
- 5.5K (All time)
- 5 (Last 30 days)
- 4.8 / 5
- Community
-
9 Aug 2024
Plots V-N diagrams for fixed wing aircraft
V-N diagram plotter for fixed wing aircrafts at low speeds and load factors.---------------------------------------------24-10-2020 Ver. 1.0 -Initial Release26-10-2020 Ver. 1.1 -Cleaned code and
- 1.2K (All time)
- 32 (Last 30 days)
- -- / 5
- Community
-
8 Nov 2020
Plot lines with CData, (actually surface)
plots a 2-D "line" with c-data as colorMakes a surface object and the colouring is controlled by the colormap.Examples: x = 0:0.1:2*pi;color_line(x,sin(x),sin(x))color_line(x,cos(x),cos(x),'*')
- 4.2K (All time)
- 2 (Last 30 days)
- 4.3 / 5
- Community
-
7 Apr 2008