1

我想向 matlab 饼图添加图例,而不是仅仅将名称放在饼图本身附近。也就是说,我希望将名称显示在一个框中,并将百分比显示在靠近馅饼的位置(通常是这样)。但是如果我只是简单地添加一个图例,如下所示,它不会附加到补丁信息中:

pieH=pie([.3,.4,.3]);
legend({'Leg1','Leg2','Leg3'},'location','EastOutside');

馅饼图例故障

我试过打开补丁注释图标显示,如下所示,但它不起作用:

set(get(get(pieH(1),'Annotation'),'LegendInformation'),'IconDisplayStyle','on')
set(get(get(pieH(3),'Annotation'),'LegendInformation'),'IconDisplayStyle','on')
set(get(get(pieH(5),'Annotation'),'LegendInformation'),'IconDisplayStyle','on')

正如帮助中所说,我还尝试传递修补的句柄,但也没有效果:

legend([pieH(1:2:end)],{'Leg1','Leg2','Leg3'},'location','EastOutside');

编辑

我使用的是 matlab 处理图形版本 2,似乎这种组合在新的图形版本中还不起作用。由于它是一个 matlab 错误,并且这个主题导致我发现,我将其关闭。但是,如果有人碰巧已经遇到了这个问题并且知道如何解决,请告诉我。

4

1 回答 1

3

这是使其工作的一种方法:

X=[100 200 300];
h=pie(X);
legend(h(1:2:end), 'Small', 'Medium', 'Large','location','EastOutside');

在此处输入图像描述

于 2013-09-11T23:53:28.980 回答