Issues plotting simple bar graph.
23 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuesta aceptada
VBBV
el 20 de Mzo. de 2023
Editada: VBBV
el 20 de Mzo. de 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
Más respuestas (1)
the cyclist
el 20 de Mzo. de 2023
Editada: the cyclist
el 20 de Mzo. de 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.
Ver también
Categorías
Más información sobre 2-D and 3-D Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!