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列。第一列为原始数据列的每个项的值,第二列为第一列每个项出现的频数,第三列为第一列每个项所占的百分数。其中,第一列是按数值大小排列的。如下图所示。