How do I get MATLAB to automatically account for missing XTick labels?

2 visualizaciones (últimos 30 días)
I've run into a scenario where MATLAB won't include the final xtick in some plots. For example, if I use the following code;
Time = [5 10 15 20 22.23];
Alt = [3 9 16 21 23];
plot(Time, Alt);
title('Altitude Vs Time');
set(gca, 'XLim', [0 max(Time)]);
xlabel('TALO (Sec)');
ylabel('Alt (Miles)');
I get a plot of altitudes vs time, where the desired x-axis tick values begin with 0, end with 20, at 5 second intervals. What I actually need is the same plot with X-axis ticks of 0, 5, 10, 15, 20, and 25.
Is there a way to get get MATLAB to automatically make the a-axis ticks extend past 20 to 25?

Respuesta aceptada

Star Strider
Star Strider el 30 de Sept. de 2014
Make one small change in the ‘set’ command in your original code, and the upper 'XLim' takes care of itself:
set(gca, 'XLim', [0 5*ceil(max(Time)/5)]);
This will automatically round the upper 'XLim' value to the next multiple of 5. Change the 5 values to something else if you want it to round to another value. Experiment with it.
  4 comentarios
Brad
Brad el 30 de Sept. de 2014
Interesting.
I tested this approach on several data sets, some of which had multiples much larger than 5. I held the value of 5 constant, and it still ran like a champ, regardless of the data set. More testing is in order, but I'm a fan. Thanks for taking a look.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre MATLAB en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by