Draw angled ellipses around clusters on PCA plot

16 views (last 30 days)
I would like to draw angled ellipses around clusters in a PCA plot representing the 95% CI for this cluster, similar to what is done by autoplot in R (also, see attached example, or this link https://r-charts.com/correlation/scatter-plot-ellipses-ggplot2/). Any resources for how to do this in matlab, or the math behind how to do this would be much appreciated!
As a note: I did see a post on this forum where people drew ellipses in line with the axes where the height of the ellipse is the 95% CI in X and the width is the 95% CI in Y; this is NOT what I would like, I would like the ellipses at an angle that fits the shape of the clusters, as shown in my examples

Accepted Answer

Mathieu NOE
Mathieu NOE on 24 Nov 2023

More Answers (2)

Matt J
Matt J on 29 Nov 2023
Edited: Matt J on 29 Nov 2023
See also elliipticalFit from the FEX downloadable,
It can also be used to plot ellipses as well as fit them, e.g.,
[Center,Axes,Angle]=deal([0 2] , [2 1], 30); %Ellipse parameters
plot( ellipticalFit.groundtruth([],Center,Axes,Angle) );

Matt J
Matt J on 29 Nov 2023
Using polyshapes:
ellipse=rotate( scale(nsidedpoly(1000),[2,1]) ,30);




Community Treasure Hunt

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

Start Hunting!