绘制条形图和线条的图例

时间:2016-04-19 06:49:09

标签: matlab matlab-figure

如果我有一个条形图,然后在同一个图表上有一条线,我该如何为两者写一个图例?我有

hold on
h1 = bar([x;y], 0.5);
h2 = plot(a, b);
l = cell(2,1);
l{1,1}='Label for x';
l{2,1}='Label for y';
hl=legend(h1, l);
set(hl,'FontSize',10,'Location','Northeast', 'Orientation', 'horizontal');

这会生成条形图的图例,但如何为折线图添加图例条目?

2 个答案:

答案 0 :(得分:2)

您只将bar绘图句柄传递给legend函数,这样就可以创建它了。但是,你可以做的是将句柄(和标签)的数组传递给legend,并显示句柄数组所有元素的图例条目。

h1 = bar([x;y], 0.5);
h2 = plot(a, b);
labels = {'Label for x', 'Label for y'};
L = legend([h1, h2], labels, ...
            'FontSize', 10, ...
            'Location', 'Northeast', ...
            'Orientation', 'horizontal');

答案 1 :(得分:1)

一种方法:

legend({'label for x','label for y'},'FontSize',10,'Location','Northeast','Orientation','vertical');

如果要使用图例条目保留单元格对象,可以使用

l = cell(2,1);
l{1,1}='Label for x';
l{2,1}='Label for y';
legend(l,'FontSize',10,'Location','Northeast','Orientation', 'vertical');