在matlab中从下面的单元格数组绘制一个帕累托图

时间:2015-09-14 15:00:23

标签: matlab

我想从下面的单元格数据中绘制一个帕累托图表。我面临的问题是将其转换为矢量以绘制帕累托图表并按第一列中的数据标记每个条形

data={

    'P0702' 200
    'P0882' 75
    'P0500' 14
    'P0740' 7
    'P0755' 7
    'P0760' 7
    'P0763' 7
    'P0657' 6
    'P0718' 6
    'P0743' 6
    'P0750' 6
    'P0753' 6
    'P1921' 6
    'P0710' 5
    'P0748' 5
    'P0758' 5
    'P0713' 4
    'P0735' 4
}

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

很简单,你只需要绘制一个普通的plot和一个bar图。

在正常plot中,您可以绘制数据的累计总和。

for ii=1:size(data,1)
    datanum(ii)=data{ii,2};
    datalabel{ii}=data{ii,1};
end

hold on;

bar(datanum);
plot(1:size(data,1),cumsum(datanum),'r');
set(gca,'Xtick',1:size(data,1));
set(gca,'XtickLabel',datalabel);

enter image description here

修改 我不知道pareto函数,但我认为没有,因为pareto(datanum,datalabel)给出了你想要的东西..........