Issues with labelling bar graph along the x axis?

10 Ansichten (letzte 30 Tage)
Bethany Sinclair
Bethany Sinclair am 24 Jan. 2021
Bearbeitet: Bethany Sinclair am 26 Jan. 2021
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 Kommentare
Adam Danz
Adam Danz am 24 Jan. 2021
Bearbeitet: Adam Danz am 24 Jan. 2021
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 am 24 Jan. 2021
Bearbeitet: Adam Danz am 24 Jan. 2021
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:

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Adam Danz
Adam Danz am 24 Jan. 2021
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);

Weitere Antworten (0)

Kategorien

Mehr zu 2-D and 3-D Plots finden Sie in Help Center und File Exchange

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by