我有一个数组,其中包含调查中的一些字符串作为结果。我必须在直方图中对其进行建模,并显示选择了多少次值。
到目前为止,我所做的是将数据插入八度。就像跟随;
airlines = {'Turkish Airlines','Turkish Airlines','Anadolu Jet','Turkish Airlines','Onur Air','Anadolu Jet','Turkish Airlines','Turkish Airlines', 'Anadolu Jet','Turkish Airlines','Turkish Airlines','Turkish Airlines','Turkish Airlines','Turkish Airlines','Turkish Airlines','Turkish Airlines','Pegasus Airlines','Turkish Airlines','Atlas Global','Anadolu Jet','Turkish Airlines','Pegasus Airlines','Turkish Airlines', 'Anadolu Jet','Pegasus Airlines', 'Turkish Airlines', 'Onur Air', 'Anadolu Jet','Turkish Airlines','Pegasus Airlines', 'Turkish Airlines','Onur Air','Anadolu Jet','Turkish Airlines','Turkish Airlines','Turkish Airlines','Lufthansa','Delta','Turkish Airlines','Anadolu Jet','Turkish Airlines', 'Anadolu Jet','Onur Air','Atlas Global','Lufthansa','Turkish Airlines','Onur Air','Pegasus Airlines','Turkish Airlines','Anadolu Jet','Turkish Airlines','Pegasus Airlines','Turkish Airlines','Anadolu Jet','Turkish Airlines','Turkish Airlines'};
我还创建了包含所有航空公司名称的标签列表。就像下面的一样;
标签= {'土耳其航空','Onur航空','Anadolu Jet','飞马航空','汉莎航空','Atlas Global','Delta'};
我想用图片中的每个字符串的每次出现次数来创建直方图,如图片中所示。到目前为止,我尝试使用hist,直方图和set函数,但是它们不起作用。Matlab的某些功能在这里不受支持,说实话,我在很多方面都在苦苦挣扎。事先提供一点帮助将是很大的。从现在开始谢谢!
看看uniq_c.m
1;
function [val, cnt] = uniq_c (X)
[val, ~, J] = unique (X);
cnt = accumarray (J(:), 1);
if (rows (J) == 1)
cnt = cnt';
endif
endfunction
airlines = {'Turkish Airlines','Turkish Airlines','Anadolu Jet','Turkish Airlines','Onur Air','Anadolu Jet','Turkish Airlines','Turkish Airlines', 'Anadolu Jet','Turkish Airlines','Turkish Airlines','Turkish Airlines','Turkish Airlines','Turkish Airlines','Turkish Airlines','Turkish Airlines','Pegasus Airlines','Turkish Airlines','Atlas Global','Anadolu Jet','Turkish Airlines','Pegasus Airlines','Turkish Airlines', 'Anadolu Jet','Pegasus Airlines', 'Turkish Airlines', 'Onur Air', 'Anadolu Jet','Turkish Airlines','Pegasus Airlines', 'Turkish Airlines','Onur Air','Anadolu Jet','Turkish Airlines','Turkish Airlines','Turkish Airlines','Lufthansa','Delta','Turkish Airlines','Anadolu Jet','Turkish Airlines', 'Anadolu Jet','Onur Air','Atlas Global','Lufthansa','Turkish Airlines','Onur Air','Pegasus Airlines','Turkish Airlines','Anadolu Jet','Turkish Airlines','Pegasus Airlines','Turkish Airlines','Anadolu Jet','Turkish Airlines','Turkish Airlines'};
[labels, count] = uniq_c (airlines)
给出答案:
labels =
{
[1,1] = Anadolu Jet
[1,2] = Atlas Global
[1,3] = Delta
[1,4] = Lufthansa
[1,5] = Onur Air
[1,6] = Pegasus Airlines
[1,7] = Turkish Airlines
}
count =
11 2 1 2 5 6 29
终于把它画出来
bar (count)
set (gca, "xticklabel", labels)
给出:
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句