a=tabulate(b); % b为需要绘制饼图的原始数据列,生成新的一个矩阵a
label={\'1\',\'2\',\'3\'} % 设定饼图每块扇形代表的内容
percent=num2str(a(:,3),\'%1.2f\'); %提取a的第三列,并保留两位小数
percent=[repmat(blanks(2),m,1),percent,repmat(\'%\',m,1)];
percent=cellstr(percent);
Label=strcat(label,percent\');
pie(a(:,2),Label);
title([\'标题\']); % 设置饼图的标题
解释一下tabulate这个函数,它返回的矩阵有3列。第一列为原始数据列的每个项的值,第二列为第一列每个项出现的频数,第三列为第一列每个项所占的百分数。其中,第一列是按数值大小排列的。如下图所示。