4.66667

4.7 | 3 ratings Rate this file 147 downloads (last 30 days) File Size: 4.58 KB File ID: #15850

DSPLOT - downsampled plot

by Jiro Doke

 

06 Aug 2007 (Updated 13 Aug 2007)

Code covered by BSD License  

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

Editor's Notes:

This was a File Exchange Pick of the Week

Download Now | Watch this File

File Information
Description

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);

MATLAB release MATLAB 7.4 (R2007a)
Other requirements Only works for R2006b or later. It uses the zoom/pan customization feature which became available in R2006b.
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (5)
09 Aug 2007 Joacim Rådstam

Excellent function!
I often plot time series with more than 2 million samples and this function makes the plot so much faster to zoom and pan in. Also the maximizing and minimizing of the figure window is much faster.

10 Aug 2007 Rob C

Looks very useful but am unable to run any of your examples. When I try this results:

??? One or more output arguments not assigned during call to 'C:\MATLAB701a\toolbox\matlab\graph2d\zoom.m (zoom)'.

Error in ==> dsplot at 94
hZoom = zoom(hFig);

Any ideas?

10 Aug 2007 Jiro Doke

Rob,
I'm sorry to say that it is not designed to work with MATLAB 7.01, as mentioned in "Other Requirements". This tool only works because it uses a new feature that became available in R2006b (MATLAB 7.3). I've thought about trying to make this usable in earlier versions, but it would be more clunky and won't be able to make use of the built in zoom/pan features.

19 Mar 2008 Scott Miller  
26 Oct 2009 Kai

Great! This function saved me. Large data plots run like hell with it! But I was missing the possibility to specify figure or axes handles to plot into.

Please login to add a comment or rating.
Updates
13 Aug 2007

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.

Tag Activity for this File
Tag Applied By Date/Time
data exploration Jiro Doke 22 Oct 2008 09:22:16
downsample Jiro Doke 22 Oct 2008 09:22:16
graphics Jiro Doke 22 Oct 2008 09:22:16
speed Jiro Doke 22 Oct 2008 09:22:16
plot Jiro Doke 22 Oct 2008 09:22:16
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com