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 (2026). fastscatter.m (https://uk.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
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
