How to create bar graph with categorical data

44 vues (au cours des 30 derniers jours)
Gautam Ilango
Gautam Ilango le 15 Mar 2017
Commenté : Toshia M le 20 Sep 2023
I would like to plot a bar graph separated in categories. I tried out the example code here from Matlab Documentation:
c = categorical({'apples','oranges','pears'});
prices = [1.23 0.99 2.3];
bar(c,prices)
But I don't get the categories displayed on the "x-Axis" of the graph, instead just int's 1-3.
  1 commentaire
Xeozim
Xeozim le 3 Nov 2017
Also seeing this behaviour in R2016a

Connectez-vous pour commenter.

Réponse acceptée

Gautam Ilango
Gautam Ilango le 18 Mar 2017
Meanwhile I have found this workaround:
prices = [1.23 0.99 2.3];
bar(prices)
set(gca,'xticklabel',{'apples','oranges','pears'});
  4 commentaires
Sajad Ahmad Rather
Sajad Ahmad Rather le 27 Oct 2020
Eactly. It just solved my problem in a second.
Thank you very much from the bottom of my heart.
Well done.
Toshia M
Toshia M le 20 Sep 2023
Starting in R2023b, you can specify x as a string vector (or as a cell array of character vectors). This enhancement makes it much easier to label the bars with text in a specific order. For example, create three bars with text labels:
c = ["pears" "apples" "oranges"];
prices = [1.23 0.99 2.3];
bar(c,prices)

Connectez-vous pour commenter.

Plus de réponses (1)

Chaman Dewangan
Chaman Dewangan le 13 Juil 2021
I found answer in mathworks.com as. Very happy it is working nicely.
One way to indicate categories for your bars is to specify X as a categorical array. The bar function uses a sorted list of the categories, so the bars might display in a different order than you expect. To preserve the order, call the reordercats function.
Define X as categorical array, and call the reordercats function to specify the order for the bars. Then define Y as a vector of bar heights and display the bar graph.
X = categorical({'Small','Medium','Large','Extra Large'});
X = reordercats(X,{'Small','Medium','Large','Extra Large'});
Y = [10 21 33 52];
bar(X,Y)

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by