How to create bar graph with categorical data
118 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Gautam Ilango
il 15 Mar 2017
Commentato: Toshia M
il 20 Set 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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/161709/image.jpeg)
Risposta accettata
Gautam Ilango
il 18 Mar 2017
4 Commenti
Sajad Ahmad Rather
il 27 Ott 2020
Eactly. It just solved my problem in a second.
Thank you very much from the bottom of my heart.
Well done.
Toshia M
il 20 Set 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)
Più risposte (1)
Chaman Dewangan
il 13 Lug 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)
0 Commenti
Vedere anche
Categorie
Scopri di più su Categorical Arrays in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!