在 Matlab 中以 Rational 格式打印饼图百分比

Print Pie Chart percentages in Matlab in Rational Format

在Matlab饼图中,在分类数据中,结果以百分比格式打印。 有没有办法以合理的形式改变这种格式?例如。而不是一组 12 个数据中的 50%,而是打印 6/12。在工作区中键入 format long 无法解决此问题。

更好的是,我们可以写出两个结果,即50% (6/12)。

工作示例:

X = categorical({'North','South','North','East','South','West'});
pie(X)

您可以使用countcats获取出现次数并手动制作标签:

N = numel(X);         % total number of items
n = countcats(X);     % number of items per category
cats = categories(X); % unique categories in same order as countcats
labels = arrayfun( @(ii) sprintf('%s (%.0f/%.0f)', cats{ii}, n(ii), N), ...
                   1:numel(n), 'uni', 0 );

然后制作饼图

pie(n, labels)