matlab pareto

有一个向量是13*1的,想用matlab 中的pareto画图,但是出现的结果老师在横坐标只显示1-10,怎么才显示到13

原文: http://zhidao.baidu.com/question/268161878.html

向量是:

40.749
18.97
8.5617
7.4267
5.5653
4.6588
3.6639
2.4088
2.2744
2.251
1.3813
1.2732
0.8151
自己画的图是: 怎么才能在横轴1-13显示呢??


最佳答案 pareto 在横轴上最多可以显示10标注,默认情况下,10以后的被忽略,可以扩展x轴让其显示出来,但是,被扩展的部分不会被标注,所以,可以让1-13的条形都显示出来,但是标注最多只能到10,后面的11,12,13都不会被标注 扩展x轴的方法 axis([1 13 0 100])或者 xlim([1 13]);

追问

有其他的办法将11,12等标出来吗??谢谢

回答

pareto函数做不到,如果你非要将11,12,13 标出来,可以用 bar 函数,但是这个函数不会画出上面的那个累加曲线,需要你自己来画,方法如下
y=[40.749 18.97 8.5617 7.4267 5.5653 4.6588 3.6639 2.4088 2.2744 2.251 1.3813 1.2732 0.8151];
x=1:13;
kk(1)=y(1);
for index=2:13
    kk(index)=kk(index-1)+y(index);
end
bar(y);
hold on
plot(x,kk);
hold off
这样就可以了
不知道你要的是不是这个结果
原文地址:https://www.cnblogs.com/sunwufan/p/2157407.html