DSPLOT - downsampled plot

This function creates a downsampled plot to improve the speed of exploration (zoom, pan)

You are now following this Submission

Editor's Note: This was a File Exchange Pick of the Week

This version of "plot" will allow you to visualize data that has very large number of elements. Plotting large data set makes your graphics sluggish, but most times you don't need all of the information displayed in the plot. Your screen only has so many pixels, and your eyes won't be able to detect any information not captured on the screen.
This function will downsample the data and plot only a subset of the data, thus improving the memory requirement. When the plot is zoomed in, more information gets displayed. Some work is done to make sure that outliers are captured.

Syntax:
dsplot(x, y)
dsplot(y)
dsplot(x, y, numpoints)

Example:
x =linspace(0, 2*pi, 1000000);
y1=sin(x)+.02*cos(200*x)+0.001*sin(2000*x)+0.0001*cos(20000*x);
dsplot(x,y1);

Cite As

Jiro Doke (2026). DSPLOT - downsampled plot (https://au.mathworks.com/matlabcentral/fileexchange/15850-dsplot-downsampled-plot), MATLAB Central File Exchange. Retrieved .

Acknowledgements

Inspired: jplot, Stability Analyzer 53230A

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.0.1

Updated license

1.0.0.0

Update - added CreateFcn for the figure so that when the figure is saved and re-loaded, the zooming and panning works. Also added a menu item for saving out the original data back to the base workspace.