preserve datetick labels when resizing

"datetick" prints dates on x-axis (e.g. "12/11/2011"), when the plot is resized, these dates are jammed together. How do I preserve the look?
Specicially I am printing the plot into powerpoint slides (using saveppt2.m from file exchange), the size changes, and I can't keep the same look.
Thanks, Hugh

Respuestas (3)

owr
owr el 4 de En. de 2012

1 voto

This doesnt relate exactly to your problem - but this is wonderful code that resets the date ticks when you zoom in/out of graph with a date axis. Perhaps you could learn something from the code that will help with your situation.
Walter Roberson
Walter Roberson el 29 de Dic. de 2011

0 votos

It is probably easier (or at least more cleanly isolated) to create a uipanel that you put the plot in, and then to use the ResizeFcn callback to detect the size change; the code in that callback would figure out the new ticks to use and set() the axes XTick property (and perhaps the XTickLabel as well.)
The uipanel step is not needed; you could instead use the ResizeFcn figure property.
But when you say resized, do you perhaps mean zoomed? If so then there is a different mechanism to use for that: for that set zoom mode and set the ActionPostCallback property to something that sets "nice" new ticks.

2 comentarios

Hugh
Hugh el 29 de Dic. de 2011
Thanks Walter. I am not familiar on these commands. Could you tell specifically what I can do? Yes, it is not resized, it is zoomed when the Matlab fig was exported to PowerPoint.
Walter Roberson
Walter Roberson el 29 de Dic. de 2011
http://www.mathworks.com/matlabcentral/newsreader/view_thread/236459
http://www.mathworks.com/matlabcentral/fileexchange/15029-datetickzoom-automatically-update-dateticks
http://www.mathworks.com/matlabcentral/newsreader/view_thread/288445

Iniciar sesión para comentar.

Patrick Kalita
Patrick Kalita el 29 de Dic. de 2011
Here's a small example that might help:
function test
plot( now : now+30, rand( 1, 31 ) );
datetick x;
set( gca, 'Tag', 'dateAxes' );
set( gcf, 'ResizeFcn', @resize );
function resize(src, evt)
ax = findall( src, 'Tag', 'dateAxes' );
datetick( ax, 'x' );

3 comentarios

Hugh
Hugh el 3 de En. de 2012
Thanks. It is doing something but does not solve my problem. I will try to my code and data.
Hugh
Hugh el 3 de En. de 2012
Any way to attached a small data file?
Walter Roberson
Walter Roberson el 3 de En. de 2012
http://www.mathworks.com/matlabcentral/answers/7924-where-can-i-upload-images-and-files-for-use-on-matlab-answers

Iniciar sesión para comentar.

Categorías

Preguntada:

el 27 de Dic. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by