How can I plot a legend in a bar plot in Matlab? Here is the code:
Y = [1.5056
0.72983
3.4530
3.2900
1.4839
12.9 ];
n = length(Y);
h = bar(Y);
colormap(summer(n));
grid on
l = cell(1,6);
l{1}='L'; l{2}='B'; l{3}='R'; l{4}='P'; l{5}='h'; l{6}='Ri';
legend(h,l);
This give an error: Warning: Ignoring extra legend entries. I tried solutions which I found on the SO and web, but I couldn’t resolve this.
Instead of legend, you can solve it using the tick labels for example:
This will label each bar. If you want to use
legendyou need to have a matrix data, so the bar plot will show several bars per entry. For exampleOr, you can use different
bar()calls in this way:But then you’ll get a displacement per each bar:
So, the only way really to do that using
legendis to plot eachbarseperatly, similar to what is discussed here.