我想将图例添加到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错误,这个主题让我发现了,我正在关闭它。但是,如果有人偶然发现了这个问题,并且知道如何解决这个问题,请告诉我。
答案 0 :(得分:3)
这是一种让它发挥作用的方法:
X=[100 200 300];
h=pie(X);
legend(h(1:2:end), 'Small', 'Medium', 'Large','location','EastOutside');