File Exchange

image thumbnail

Datetick with zooming panning and subplots

version 1.0.0.0 (1.94 KB) by Andrew Bliss
Date formatted tick labels, automatically updated when zoomed or panned.

2 Downloads

Updated 25 Jun 2008

No License

Date formatted tick labels, automatically updated when zoomed or panned. Arguments are identical to those of DATETICK. Allows 2 or more subplots, keeps all of them synched using LINKPROP.

For best results with multiple subplots, call datetick2 from the axis that has the widest range of dates. This functionality could be included, but would probably needlessly bloat the code.

Example:
figure
h(1)=subplot(411);
plot(now:1:now+100,randn(101,1))
h(2)=subplot(412);
plot(now:1:now+10,rand(11,1))
h(3)=subplot(413);
plot(now+20:1:now+30,rand(11,1))
h(4)=subplot(414);
plot(now-5:1:now+5,rand(11,1))
datetick2

Cite As

Andrew Bliss (2020). Datetick with zooming panning and subplots (https://www.mathworks.com/matlabcentral/fileexchange/20422-datetick-with-zooming-panning-and-subplots), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (18)

Åsmund Fannemel

Using R2012b there are problems with case sensitivity and legends.

I replaced
~strcmp(get(dtd.kid(n),'tag'),'Legend').

with

~strcmpi(get(dtd.kid(n),'tag'),'Legend').

to fix the problem.

Bjoern

Haven't fully tried it yet but it does seem to do the trick :)

Nicolas

hold arrowkey -> matlab crashes

Jahanzeb Mian

Wow this function is really helpful, but I lose this behavior if I save a figure and then reopen it again. I have to re-run the datetick2 function. Is there any other way?

Pieter

Yan

There is one called zoomAdaptiveDateTicks (Pick of the Week)
http://www.mathworks.com/matlabcentral/fileexchange/15342

I have not found anything similar(date ticks adapt to zooming) for in 7.0 or 7.2, any clue?

David

With regard to the program failure when a legend handle is found, I changed the "&&" to "&" on line 60 and changed the "Legend" to "legend" on line 61 and the program properly neglects the legend handle.

Grant

This is a great program and it works well, except when there is a legend on the plot, then it fails. Seems like it is trying to use the axis handle of the legend rather than the x-axis handle.

Grant

Grant

Nathan

I use this ALL the time - great function!

Daniel Golden

Very useful for correlating multiple data sets.

Avinash Rude

Great!

Just what I needed.

Works like a charm!

Thanks Andrew Bliss

Rajesh Rajaram

Andrew Bliss

You rate my file a 1 simply because you like your own version better? That's not very nice.

Carlos Adrian Vargas Aguilera

That's it! You copy/write 150 lines because of a single bug line! (BTW multiple axes is nothing new).

Well, I was hopping... something. I use this kind of functions a lot, thats why my extra lines do this:
- adds ticks when just 3 are displayed.
- you can use any language, not just english (for the months of course)
- you can use any dateformat, not only MATLABs defaults.
- xlabel is linked and is used to print the whole date
- yes, there is a bug which I already fix: ''catch, ME = lasterror;'' but now i'm working in other parts of the code (single axis labels, with the limits, whit a better link function), so, I haven't update it.
- yes, yours searches automatically! for the axes handles of the current plot. Mine does it manually, :( .

Yours, Carlos

Andy Bliss

Carlos - The improvement over Lauwery's is that datetick2 works for multiple subplots. The functionality is simply different from your tlabel. My code is simple (150 lines vs 750) and works with R2007a (yours doesn't b/c of the catch ME syntax).

Carlos Adrian Vargas Aguilera

Andrew, I'd like to know what is the improvement of original Lauwery's datetickzoom.m or my tlabel.m?

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

Community Treasure Hunt

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

Start Hunting!