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.
dsplot(x, y, numpoints)
x =linspace(0, 2*pi, 1000000);
The function is great, but I'd really love to use it in subplots. Any chance to add support to subplots?
It'd be tricky to tell whether the plot is downsampled or true representation without changing the figure title. One way I can think of is to set the 'Color' property of the subplot axesHandle to very light yellow for downsampled display.
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.
19 Mar 2008
10 Aug 2007
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.
10 Aug 2007
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);
09 Aug 2007
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.