A univariate scatter plot for matlab
Updated 23 Nov 2022

Draw an Univariate Scatter plot out of a nx2 table with a
categorical/string and a numerical variable, or out of a
numerical array, with groups/categories corresponding
to the columns of the numerical array.
This kind of graph is very popular in biochemistry/biology
Many custom options are available as Name,Value
pairs. For optimal visualization of your data I
recommend to play with 'RangeCut', and also with pbaspect of the plot, it
really changes the appearance.
You need the following functions for this function to work:
+CatTable2Array: included in the file
Also, a very simple function to assign colors is
provided, ColorCoder, you can see several examples in the
script attached
Please, all your feedback is welcome to improve this function
If you use this function in a public webpage or publication, I encourage you to share the reference with me so that I include it in the publications section.
version: <1.2> from 20/03/2020
% Manuel Lera Ramírez: manulera14@gmail.com
% Developed during Master Thesis Internship in Marcos González-Gaitán's Lab
% Departments of Biochemistry and Molecular Biology, Sciences II,
% 30 Quai Ernest-Ansermet, CH-1211 Geneva 4, Switzerland
Looking at the posts I found a function that does something very similar to this, plotSpread http://www.mathworks.com/matlabcentral/fileexchange/37105-plot-spread-points--beeswarm-plot-
Look for the one that suits better your needs, the final appearance should be different for each case.
The idea of representing std and SEM as rectangles was inspired by the function notBoxPlot by Rob Campbell

Cite As

Manuel Lera Ramírez (2024). UnivarScatter (https://github.com/manulera/UnivarScatter), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2014b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Inspired by: notBoxPlot

Inspired: jqu224/masterProject

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes

Moved to github

As pointed out by Tommy Kaplan, the function was previously calculating the 90% CI of the mean (from 0.05 to 0.95), changed line 469 in UnivarScatter.m to (0.025 to 0.975) to really get the 95% CI. Many thanks to him and sorry for the inconvenience.

Added a reference to the function plotSpread, which does a very similar plot as this one http://www.mathworks.com/matlabcentral/fileexchange/37105-plot-spread-points--beeswarm-plot-

Added the main picture
Added the information about the version and the institution
Added png images with examples
Added further references

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.