image thumbnail

fastscatter.m

version 1.3.0.0 (1.03 KB) by Aslak Grinsted
A much faster scatterplot

1.2K Downloads

Updated 29 Jul 2014

View License

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 (2021). fastscatter.m (https://www.mathworks.com/matlabcentral/fileexchange/47205-fastscatter-m), MATLAB Central File Exchange. Retrieved .

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

Inspired: fastscatterm

Community Treasure Hunt

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

Start Hunting!