Break title into multiple lines?
Afficher commentaires plus anciens
Hi, When I am adding a title to a graph, is there a way to break the title into multiple lines if it is too long to be fit in just one line?
title('1st line\n2ndline')
I found the usual \n sequence in C/C++ is not useful here, nor does
title('1st line{\n}2ndline')
which I used {} brace to attempt a TEX interpretation. Could anyone tell me how multi-line title can be achieved?
Bob
2 commentaires
Kunal Bhatt
le 27 Déc 2016
thanks
Kunal Bhatt
le 27 Déc 2016
In case of ylabel into multiple lines (3-lines or more) use following code ylabel({'line1', 'line2','line3'},)
Réponse acceptée
Plus de réponses (3)
Aryan Ritwajeet Jha
le 29 Oct 2019
Adding to the above answer(s) as I was having problems with inserting variables in multiline plot titles.
This code snippet:
title({
['Partial Discharge Magnitudes in Time Domain predicted for' ]
['n = ' num2str(npotential) ' and i = ' num2str(ipotential) ]
['Actual values being n = ' num2str(nactual) ' and i = ' num2str(iactual)]
});
will generate a title like in the given image:

3 commentaires
Sivateja Maturu
le 5 Nov 2019
Modifié(e) : Sivateja Maturu
le 5 Nov 2019
@Aryan
Thank you for your answer, I had this problem of num2str value appearing in anpther line all the time, Now I know the solution using the box.
Aryan Ritwajeet Jha
le 5 Nov 2019
Sivateja Maturu, you're most welcome!
Bor Kos
le 26 Mar 2021
or you could use sprintf in this context:
multilineTitleWithData={sprintf('First line x=%f',a),sprintf('SecondLine n=%f j=%f',n,j)}
The quickest way to insert a newline is to use. I hope this was helpful
title("My exquisite title \newline and my beautiful variable" + num2str(var1) + ".")
1 commentaire
Josef
le 6 Mai 2023
num2str is not even needed
If you're not sure where to break the line of text, you can use the textwrap function.
s is a long-ish title, 97 characters long.
s = "The quick brown fox jumped over the lazy dog. " + ...
"It was the best of times, it was the worst of times"
strlength(s)
How does it look if we use s on its own as the title of a plot?
figure
plot(1:10, 1:10);
title(s)
Not so good. The title is cut off at the beginning and end. Let's break it into roughly 40 character long chunks.
figure
plot(1:10, 1:10);
t = title(textwrap(s, 40));
How long are each of those lines?
s2 = t.String
strlength(s2)
The first two lines are pretty close to 40 characters long, and the last line has the rest of the characters.
Catégories
En savoir plus sur Printing and Saving dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


