How do I make a figure legend multiple lines?
1.018 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
MathWorks Support Team
am 13 Jan. 2011
Beantwortet: Sulaymon Eshkabilov
am 18 Mai 2022
The string for my legend is too long to fit into one line. I would like to split it into multiple lines.
Akzeptierte Antwort
MathWorks Support Team
am 9 Jun. 2020
Bearbeitet: MathWorks Support Team
am 23 Nov. 2020
To split legend to multiple lines, use the "newline" function or the ASCII character 10 for new line, for example:
>> plot(sin(1:10),'b')
>> hold on
>> plot(cos(1:10),'r')
>> legend({['blue' char(10) 'line'],'red line'})
With MATLAB "strings" you can use the following notation:
>> legend({ "blue" + newline + "line", 'red line'})
or
>> legend({ strcat("blue", string(newline), "line"), 'red line' })
In addition to the MATLAB command line, the legend can also be updated interactively in the figure itself to include multi-line legend entries.
0 Kommentare
Weitere Antworten (2)
Christoforos Kanavakis
am 23 Mär. 2018
In newer versions, Matlab recommends using 'newline'.
So,
legend({['blue' newline 'line'],'red line'})
0 Kommentare
Sulaymon Eshkabilov
am 18 Mai 2022
This one is a better solution that is easier to implement:
plot(sin(1:.1:10),'r', 'DisplayName', 'Cosine'), hold on
plot(cos(1:.1:10),'g', 'DisplayName', 'Sine')
plot(tan(1:.1:10),'b', 'DisplayName', 'Tangent')
plot(1./tan(1:.1:10),'k', 'DisplayName', 'Inverse Tangent'), grid on
My_LGD = legend;
My_LGD.NumColumns = 2; % Show legends in two lines
0 Kommentare
Siehe auch
Kategorien
Mehr zu Legend finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!