我有一个数组,其中包含调查中的一些字符串作为结果。我必须在直方图中对它们进行建模,并显示选择值的次数。
到目前为止,我所做的是将数据插入Octave。这就像是跟随;
航空公司= {'土耳其航空公司'土耳其航空公司' Anadolu Jet'土耳其航空公司',' Onur Air',Anadolu Jet'土耳其航空'土耳其航空'土耳其航空公司' Anadolu Jet','土耳其航空公司,土耳其航空公司'土耳其航空公司,土耳其航空公司'土耳其航空公司','土耳其航空公司'土耳其航空公司' Pegasus航空公司'土耳其航空公司' Atlas Global',' Anadolu Jet'土耳其航空公司' Pegasus航空公司'土耳其航空公司' Anadolu Jet',' Pegasus Airlines',' Turkish Airlines',' Onur Air',' Anadolu Jet'土耳其航空',' Pegasus Airlines',' Turkish Airlines',Onur Air',Anadolu Jet'土耳其航空','土耳其航空公司'土耳其航空公司'汉莎航空'三角洲'土耳其航空',' An adolu Jet',#39;土耳其航空公司' Anadolu Jet' Onur Air' Atlas Global','汉莎航空公司,土耳其航空公司,' Onur Air' Pegasus Airlines'土耳其航空公司'阿纳多卢Jet','土耳其航空公司' Pegasus航空公司'土耳其航空公司' Anadolu Jet','土耳其语航空公司',土耳其航空公司'};
我还创建了一个标签清单,其中包含所有航空公司的名称。它也像是跟随;
labels = {'土耳其航空公司' Onur Air' Anadolu Jet' Pegasus Airlines','汉莎航空',' Atlas Global',' Delta'};
我想在图片中创建直方图,其中包含数组中每个字符串的每个出现次数。到目前为止,我尝试使用hist,histogram和set函数,但它们没有用。 Matlab的一些功能在这里不受支持,说实话,我正在努力奋斗。提前一点帮助就会很棒。谢谢你们!
答案 0 :(得分:2)
查看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)
给出: