Issues with labelling bar graph along the x axis?

Hi,
I don't want the numbers along the bottom to be 1-10, rather a min and max value inputted in the command window and then the values in between determined by an interval also specificed in the command window

2 Comments

So what if someone enters 100, 1000, 2 which would produced 451 values?
What's the problem with setting the xticklabel of the axis?
The input() function is rarely a good idea and is wildely unconstrained. See my anser on how to define xticklabels as a numeric vector.
Reasons why input() isn't safe and alternatives:
Testing user input and reprompting user if their input doesn't make sense:

Sign in to comment.

 Accepted Answer

This shows how to convert a numeric vector to x tick labels.
It includes an assertion that will throw an error if the number of x tick labels does not match the number of x ticks.
The number of decimal places in the labels is set to 0 and can be changed in the '%.0f' format command.
data = rand(10,3);
ax = gca();
bar(ax, data, 'stacked')
newXTicks = 100:10:190; % Numeric vector of XTickLabels
assert(numel(ax.XTick)==numel(newXTicks), 'Number of XTickLabels does not match number of XTicks.')
ax.XTickLabels = compose('%.0f', newXTicks);

More Answers (0)

Categories

Find more on Graphics Object Properties in Help Center and File Exchange

Products

Release

R2020b

Community Treasure Hunt

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

Start Hunting!