Issues plotting simple bar graph.

23 views (last 30 days)
Scuba
Scuba on 20 Mar 2023
Commented: Scuba on 20 Mar 2023
Hello, I have simplified the example problem down to what you see. I have two variables size 11x1 with correspoding data. That said, once I try and plot it comes up with this error as shown below, could someoe care to explain and show what i can do to work around this. I don't understand why this wont work, both array sizes are the same it should plot x and y coordinates respectively?
A = [0.1; 0.4; 1.1; 2.2; 2.5; 0.2; 2.5; 2.2; 1.1; 0.4; 0.1];
B = [25; 20; 15; 10; 5; 0; 5; 10; 15; 20; 25];
bar(B, A);

Accepted Answer

VBBV
VBBV on 20 Mar 2023
Edited: VBBV on 20 Mar 2023
A = [0.1; 0.4; 1.1; 2.2; 2.5; 0.2; 2.5; 2.2; 1.1; 0.4; 0.1];
B = [25; 20; 15; 10; 5; 0; 5; 10; 15; 20; 25];
bar(A);
xticks(1:length(A));
xticklabels({B})
As @cyclist mentioned , you need to code it differently if you want to group or stack them. But if you still want the values in the same order as you mentioned, one option is to work with xticks and xticklabels
  1 Comment
Scuba
Scuba on 20 Mar 2023
Thank you, I realised i've been doing bar graphs wrong in Matab... plot just the x and working with xticks and xticklabels is the way to go.

Sign in to comment.

More Answers (1)

the cyclist
the cyclist on 20 Mar 2023
Edited: the cyclist on 20 Mar 2023
The error message is quite clear. Your X values are not unique.
Let's look at a simpler example:
x = [1 2 2];
y = [3 5 7];
bar(x,y)
Error using bar
XData values must be unique.
It is clear that at x==1, there should be a bar of height y==3.
But would should the bar be at x==2? Should it be 5? 7? 5+7? A bar with two sections? It is not clear, which is why the x values need to be unique.
If you want stacked or group bars, you need to code this differently.
  2 Comments
Scuba
Scuba on 20 Mar 2023
I see, could i just plot the x values and change the x value lettering to what i want?

Sign in to comment.

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!