MATLAB Answers

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?
Thank you in advance.
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',...
xlabel('$r$ [m]','Interpreter','latex','fontweight','bold','fontsize',20);
ylabel('$u=u(r,t=0)$ [m/s]','Interpreter','latex',...
leg_1 = legend('Poiseuille' );
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' );
hold on


Sign in to comment.

Accepted Answer

A. Sawas
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' );
% rest of your code
leg_2 = legend( {'Poiseuille', '$\alpha = 0.1$'}, 'Interpreter','latex' );
hold on

  1 Comment

Walter Roberson
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.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!