how to assign names to each bar of a bar chart

394 views (last 30 days)
Hello, Suppose i have some data that i want to plot in a bar chart. How do i assign labels to each of the bars. e.g.
somedata=randn(1,3)
somenames={'mike'; 'steve'; 'alex' }
barh(somedata)
My question is, how do i label each of the bars to the extreme left with the names.
Thank you for your help.

Accepted Answer

C.J. Harris
C.J. Harris on 28 Mar 2012
You can simply add the names as the y-tick labels.
somedata=randn(1,3);
somenames={'mike'; 'steve'; 'alex' };
barh(somedata)
set(gca,'yticklabel',somenames)
  1 Comment
emjey
emjey on 17 May 2019
Edited: emjey on 17 May 2019
But that doens't work if you have more than 20-30 data records :(
In such case Matlab plots the first few labels only...

Sign in to comment.

More Answers (2)

ORUGANTI SIVAMURALIKRISHNA
Use like this
X = categorical({'Small','Medium','Large','Extra Large'});
Y = [0 15 20 25];
bar(X,Y)
  2 Comments
Bill Tubbs
Bill Tubbs on 15 Jun 2021
Is there a reason why it sorts the data along the x-axis in alphabetical order? Is there any way to preserve the order?
ZenithWoman
ZenithWoman on 27 Jun 2021
To preserve the order write
Write like this
X = categorical({'Small','Medium','Large','Extra Large'});
X = reordercats(X,{'Small','Medium','Large','Extra Large'});
Y = [0 15 20 25];
bar(X,Y)
I hope this helps

Sign in to comment.


Sarul Gupta
Sarul Gupta on 4 May 2017
Thanks :)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!