How to increase the length of the legend line?

Hello, I would like to increase the length (not linewidth) of the line inside the legend. Does anyone has an idea? Thanks you.
t = [0:0.1:2*pi]
a = sin(t);
b = cos(t);
plot(t,a,t,b,'linewidth',3)
l = legend({'Sinus','Cosinus'},...
'location','southwest','FontName','TimesNewRoman','FontSize',20);

Réponses (3)

KALYAN ACHARJYA
KALYAN ACHARJYA le 21 Avr 2018
Modifié(e) : Walter Roberson le 8 Sep 2020

2 votes

4 commentaires

The simplest way to do it is to use: -
leg = legend('Plot1','Plot2',...);
leg.ItemTokenSize = [x1,x2];
By default x1=30 and x2=18 so put larger or smaller numbers as x1,x2 to increase or decrease the legend line size.
Thank you Arpan Sircar.
It works well.
Luca Menegozzo
Luca Menegozzo le 28 Nov 2020
Modifié(e) : Luca Menegozzo le 28 Nov 2020
The best solution to the problem without extra functions. Thank you!
thank you Arpan Sircar

Connectez-vous pour commenter.

xuewei li
xuewei li le 25 Mar 2022

1 vote

leg = legend('1','2','3');
leg.ItemTokenSize = [x1,x2];
Starting in R2024b, you can leverage the IconColumnWidth property on legend to increase the length of the line:
t = [0:0.1:2*pi]
t = 1×63
0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 1.6000 1.7000 1.8000 1.9000 2.0000 2.1000 2.2000 2.3000 2.4000 2.5000 2.6000 2.7000 2.8000 2.9000
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
a = sin(t);
b = cos(t);
plot(t,a,t,b,'linewidth',3)
l = legend({'Sinus','Cosinus'},...
'location','southwest','FontName','TimesNewRoman','FontSize',20);
l.IconColumnWidth = 60;

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by