Issues plotting simple bar graph.
23 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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);
0 Kommentare
Akzeptierte Antwort
VBBV
am 20 Mär. 2023
Bearbeitet: VBBV
am 20 Mär. 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
Weitere Antworten (1)
the cyclist
am 20 Mär. 2023
Bearbeitet: the cyclist
am 20 Mär. 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)
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.
Siehe auch
Kategorien
Mehr zu Specifying Target for Graphics Output finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!