# Legend issue: not all the entrties are shown.

2 views (last 30 days)
john_arle on 7 Apr 2019
Commented: Walter Roberson on 7 Apr 2019
Hello there,
I am having trouble with my legend.
I have single plot, and then I typed "hold on" and added a curve to my plot.
I cannot insert a correct legend though!
How is this possible?
Cheers,
Andrea.
plot(linspace(0.03,0.3), poiseuille(linspace(0.03,0.3)),'k')
axis([0 0.3 0 12])
title('Velocity profiles for $\epsilon = 0.1$','Interpreter','latex',...
'fontweight','bold','fontsize',20)
xlabel('$r$ [m]','Interpreter','latex','fontweight','bold','fontsize',20);
ylabel('$u=u(r,t=0)$ [m/s]','Interpreter','latex',...
'fontweight','bold','fontsize',20);
leg_1 = legend('Poiseuille' );
set(leg_1,'FontSize',10);
hold on
plot(linspace(0.03,0.3), vel((1:100), 0),'color', [0.3 0.3 0.55])
leg_2 = legend( {'$\alpha = 0.1$'}, 'Interpreter','latex' );
set(leg_2,'FontSize',15);
hold on

A. Sawas on 7 Apr 2019
You can only add one legend to the axis. So to solve your problem put all the names in one legend call. You may modify your code to do like this:
%leg_1 = legend('Poiseuille' );
%set(leg_1,'FontSize',10);
leg_2 = legend( {'Poiseuille', '$\alpha = 0.1$'}, 'Interpreter','latex' );
set(leg_2,'FontSize',15);
hold on

#### 1 Comment

Walter Roberson on 7 Apr 2019
Note that you will only get a single fontsize when you do this. You could include a \fontsize as part the latex code, but be aware that MATLAB might not include enough space between entries. It would probably be safer to 'Fontsize' the larger font, and \fontsize the other entries down to what they need.