Issues with labelling bar graph along the x axis?

12 次查看(过去 30 天)
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 个评论
Adam Danz
Adam Danz 2021-1-24
编辑:Adam Danz 2021-1-24
So what if someone enters 100, 1000, 2 which would produced 451 values?
What's the problem with setting the xticklabel of the axis?
Adam Danz
Adam Danz 2021-1-24
编辑:Adam Danz 2021-1-24
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:

请先登录,再进行评论。

采纳的回答

Adam Danz
Adam Danz 2021-1-24
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);

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by