如果我能看得见 发表于 2014-9-1 22:51

matlab条形图的大小调整,如何让他美观?

我有一个条形图但是他的比例很不合适,不美观,怎么去调整横纵坐标大小和条形图中的条条的高与宽?

madio 发表于 2014-9-1 23:35

下面这个例子我详细写了注释,你可以看清楚一些语句是如何控制的Data = [ 10, 30, 40, 20, 0 ];
diaData = diag( Data );
pic = bar( diaData, 20 );%这个20就是控制柱的宽度的
axis( [ 0 10 0 50 ] ); %横纵坐标轴所在的区间
xlabel( '成绩类别' );
set( gca, 'xtick', 1:2:10 );%1:2:10代表了横坐标的刻度序列
set(gca,'box','off');
%下面的代码可以设置X轴的刻度的标识,可以使用字母甚至汉字
%set(gca,'XTickLabel',{'SVM(TF)','SVM(TFIDF)','Bayes','Rocchio(TF)','Rocchio(TFIDF)','类文档排名分类'})

%图例及颜色
C=[ 'k', 'r', 'b', 'm', 'g' ];  %储存的五种颜色的标识符
[~,~,H,~]=legend( '优秀', '良好', '中等', '及格', '不及格' );    %这个地方版本低的matlab似乎会出
for i = 1:length( H )                                                        %错误,只要把几个~换成不用的变量
    set( H(i), 'facecolor', C(i) );                                            %就可以了
end

%柱及颜色
P = findobj( pic, 'type', 'patch' );
for n=1:length(P)
    set( P(n), 'facecolor', C(n) );
end

如果我能看得见 发表于 2014-9-1 23:37

madio,谢谢。

Agent-Zero 发表于 2014-9-2 08:53

学习了。谢谢。
页: [1]
查看完整版本: matlab条形图的大小调整,如何让他美观?