A fast scatter plot
h=fastscatter(X,Y,C [,markertype,property-value pairs])
Inputs:
X,Y: coordinates
C: color
Examples:
N=100000;
fastscatter(randn(N,1),randn(N,1),randn(N,1))
N=100;
fastscatter(randn(N,1),randn(N,1),randn(N,1),'+','markersize',7)
______________________________________
An illustrative example of the speed-up when using fastscatter over scatter:
N=200000;
X=randn(N,1);Y=randn(N,1);C=X.^2+Y.^2+randn(N,1);S=ones(N,1);
tic; for ii=1:10, clf; fastscatter(X,Y,C); drawnow; end; fastscatter_time=toc
tic; for ii=1:10, clf; scatter(X,Y,S,C); drawnow; end; regularscatter_time=toc
speed_increase=regularscatter_time/fastscatter_time
fastscatter_time = 3.4 seconds
regularscatter_time = 63.3 seconds
speed_increase = 18x
And for N=400000, the performance boost was ~38x.
Cite As
Aslak Grinsted (2024). fastscatter.m (https://www.mathworks.com/matlabcentral/fileexchange/47205-fastscatter-m), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- MATLAB > Graphics > 2-D and 3-D Plots > Discrete Data Plots >
- MATLAB > Graphics > 2-D and 3-D Plots > Animation >
Tags
Acknowledgements
Inspired: fastscatterm
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.