Break title into multiple lines?
2.605 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Bob Li
el 16 de En. de 2012
Movida: Dyuman Joshi
el 11 de Sept. de 2023
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 comentarios
Kunal Bhatt
el 27 de Dic. de 2016
In case of ylabel into multiple lines (3-lines or more) use following code ylabel({'line1', 'line2','line3'},)
Respuesta aceptada
the cyclist
el 29 de Ag. de 2023
Editada: MathWorks Support Team
el 29 de Ag. de 2023
You can create a multiline tile using either a cell array or a string array. Each element in the array corresponds to a separate line of text. Here’s how to do it with a cell array:
plot(1:10)
title({'You can do it','with a cell array'})
Here’s how to do it with a string array:
plot(1:10)
title(["You can do it","with a string array too"])
If you’re looking to create a subtitle, then starting in R2020b, you can pass a second line of text to the title function to create a subtitle.
title('A Nifty Title','A Clever Subtitle')
Or you can call the title and subtitle functions separately.
title('A Nifty Title') subtitle('A Clever Subtitle')
Refer to the documentation for an example of a multiline title:
8 comentarios
Giuseppe Degan Di Dieco
el 11 de Jun. de 2021
Editada: Giuseppe Degan Di Dieco
el 11 de Jun. de 2021
Dear The Cyclist,
thanks for your tip, still useful in 2021.
It is really impressive how many things can be done with cell arrays.
It helped me in producing the attached graph, best!
Paulo Providencia
el 25 de Mayo de 2023
Note the bug in your sugestion above for the subtitle option (the extra ] close to the end).
Más respuestas (3)
Aryan Ritwajeet Jha
el 29 de Oct. de 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 comentarios
Bor Kos
el 26 de Mzo. de 2021
or you could use sprintf in this context:
multilineTitleWithData={sprintf('First line x=%f',a),sprintf('SecondLine n=%f j=%f',n,j)}
Steven Lord
el 6 de Mayo de 2023
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.
0 comentarios
Ver también
Categorías
Más información sobre Data Distribution Plots en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!