Hi,
I am trying to generate a bar graph specifically 'Specify Bar Locations as String Vector' from the documentation.
x = ["Outdoor1" "Outdoor2" "Outdoor3" "Outdoor4"];
y = [540 524 515 424];
>> bar(x,y)
Error using bar
Not enough input arguments.
I am not able to figure out why am I getting the above error when the example mentioned in the documentation is pretty much the same but seems to be working.

2 commentaires

Maybe you have a function called bar in your current folder?
which bar
/MATLAB/toolbox/matlab/specgraph/bar.m
Raghav Rathi
Raghav Rathi le 20 Sep 2023
/usr/local/MATLAB/R2023a/toolbox/matlab/specgraph/bar.m
There is no other function named bar in the PWD

Connectez-vous pour commenter.

 Réponse acceptée

Use the categorical function —
x = categorical(["Outdoor1" "Outdoor2" "Outdoor3" "Outdoor4"]);
y = [540 524 515 424];
figure
bar(x,y)
Another option is to use numerical values, for example 1:4 and then use ‘x’ as tick labels —
x = 1:4;
xl = ["Outdoor1" "Outdoor2" "Outdoor3" "Outdoor4"];
y = [540 524 515 424];
figure
bar(x,y)
set(gca,'XTickLabel',xl)
It all depends on what you want to do.
.

2 commentaires

Raghav Rathi
Raghav Rathi le 20 Sep 2023
Thanks for the help.
Star Strider
Star Strider le 20 Sep 2023
As always, my pleasure!

Connectez-vous pour commenter.

Plus de réponses (1)

Dyuman Joshi
Dyuman Joshi le 20 Sep 2023
Modifié(e) : Dyuman Joshi le 20 Sep 2023
It works fine here - R2023b but does not on my MATLAB app - R2021a.
Since you have R2023a, it means that the support for string array as input to bar must have been implemented in R2023b.
Workaround > Convert x to a categorical array and then plot -
x = ["Outdoor1" "Outdoor2" "Outdoor3" "Outdoor4"];
x = categorical(x);
y = [540 524 515 424];
bar(x,y)

Catégories

En savoir plus sur App Building dans Centre d'aide et File Exchange

Produits

Version

R2023a

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by