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

2 次查看(过去 30 天)
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?

采纳的回答

Star Strider
Star Strider 2014-9-30
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 个评论
Brad
Brad 2014-9-30
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by