![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/177503/image.png)
Is it possible to change label names in Matlab
12 views (last 30 days)
Show older comments
I want to have different names in my Y axis rather than numbering like the following photo:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/151553/image.jpeg)
0 Comments
Accepted Answer
Chad Greene
on 24 Jun 2015
Here I'll do a barh(A) where A is not sorted, and I'll label the different groups based on the longest bar. Then sort according to the size of the first column in A while preserving the group label association. I adjusted the values in your A a little bit to make it more clear:
A = [2,6,50;3,4,90;1,6,103];
longbar = {'shortest','middle','longest'};
subplot(211)
barh(A)
set(gca,'ytick',1:3,'yticklabel',longbar)
title 'unsorted data:'
box off
% Resize based on first column:
[values, order] = sort(A(:,1));
sortedmatrix = A(order,:)
subplot(212)
barh(sortedmatrix)
set(gca,'ytick',1:3,'yticklabel',longbar(order))
title 'sorted data:'
box off
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/177503/image.png)
More Answers (3)
Sean de Wolski
on 24 Jun 2015
Adjust the axes' 'YTickLabel' property:
barh(rand(3,1));
ax = gca;
ax.YTickLabel = {'Hello','World','Wednesday'}
Chad Greene
on 24 Jun 2015
plot(1:9,1:9)
set(gca,'ytick',1:9,'yticklabel',{'book','pen','vb','top','red','green','black','green','verb'})
0 Comments
Azzi Abdelmalek
on 24 Jun 2015
t=0:10;
y=sin(t)
plot(y)
s={'a' 'b' 'c' 'd' 'e' 'f'}
yt=get(gca,'ytick')
n=numel(s)
set(gca,'xtick',linspace(min(yt),max(xt),n),'yticklabel',s')
0 Comments
See Also
Categories
Find more on 2-D and 3-D Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!