馅饼与传说

时间:2013-09-11 23:40:38

标签: matlab plot legend pie-chart

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

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

Pie legend malfunction

我已尝试将修补程序注释图标显示设置为打开,如下所示,但它不起作用:

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错误,这个主题让我发现了,我正在关闭它。但是,如果有人偶然发现了这个问题,并且知道如何解决这个问题,请告诉我。

1 个答案:

答案 0 :(得分:3)

这是一种让它发挥作用的方法:

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

enter image description here