将数组与标签一起排序

时间:2014-10-25 19:31:31

标签: matlab sorting graph plot bar-chart

我对Matlab中的条形图有疑问。

我有这个,

a=[20 86 3];

但每个数字对应一个字母,如

20 -->a
86 -->b
3  -->c

然后我制作条形图,

bar(a)
set(gca,'XTickLabel',{'a','b','c'})

有没有办法对a进行排序,但保留与每个数字对应的字母?

我想写一本字典,但我不知道如何在MATLAB中制作它

谢谢。

1 个答案:

答案 0 :(得分:1)

试试这个,

a = [20 86 3];
l = {'a' , 'b' , 'c'};
[a,ind] = sort(a);
l = l(ind);

当您使用[a,ind] = sort(a);时,已排序的a将保存在a中,索引将保存在ind中,可用于对{{1}进行排序也是。