Is it possible to change label names in Matlab

10 Ansichten (letzte 30 Tage)
Moe
Moe am 24 Jun. 2015
Kommentiert: Moe am 24 Jun. 2015
I want to have different names in my Y axis rather than numbering like the following photo:

Akzeptierte Antwort

Chad Greene
Chad Greene am 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

Weitere Antworten (3)

Sean de Wolski
Sean de Wolski am 24 Jun. 2015
Adjust the axes' 'YTickLabel' property:
barh(rand(3,1));
ax = gca;
ax.YTickLabel = {'Hello','World','Wednesday'}
  1 Kommentar
Moe
Moe am 24 Jun. 2015
Thanks Sean. Actually my matrix is a little bit tricky. For example matrix A is as follows:
A = [2,6,100;3,4,101;1,6,103];
I will sort matrix A based on the column 1:
[values, order] = sort(matrix(:,1));
sortedmatrix = matrix(order,:)
So, I have now:
A = [1,6,103;2,6,100;3,4,101];
Now, I need a barh graph that the Y axis label is named base on the third column in sorted matrix A. And also is it possible to replace this new label with other names. For example, if I know 100 = Hello, 101 = World and 103 = Wednesday, then I need these new labels to be appear in my graph.

Melden Sie sich an, um zu kommentieren.


Chad Greene
Chad Greene am 24 Jun. 2015
plot(1:9,1:9)
set(gca,'ytick',1:9,'yticklabel',{'book','pen','vb','top','red','green','black','green','verb'})

Azzi Abdelmalek
Azzi Abdelmalek am 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')

Kategorien

Mehr zu Line Plots finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by