fastscatter.m

A much faster scatterplot
1.4K 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 (2024). 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
Categories
Find more on Discrete Data Plots in Help Center and MATLAB Answers
Acknowledgements

Inspired: fastscatterm

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.3.0.0

bug fix... too fast with submit

1.2.0.0

Updated description

1.1.0.0

Improved performance and nan-handling.

1.0.0.0