Input a variable into a plot title

I've trawled through these forums and found loads on inputting variables as titles, however, none of them work for me. Im trying to change the title of a plot with respect to a parameter the user will enter in the function. First i call a string for example str = sprintf('just an example of %d that isnt working', variable) title(str) However only the 'just an example of' is printed out on the title of the plot, everything after and including the variable has dissapeared, this happens when i move the variable about in the title too. Cheers!

3 comentarios

Star Strider
Star Strider el 10 de Sept. de 2014
Your code works perfectly for me (R2014a) with the string you posted. I can’t reproduce the error you report.
Soumitra Vadnerkar
Soumitra Vadnerkar el 26 de Sept. de 2017
Editada: Walter Roberson el 26 de Sept. de 2017
How about this, given in help documentation:
figure
plot((1:10).^2)
f = 70;
c = (f-32)/1.8;
title(['Temperature is ',num2str(c),' C'])
Alan Keenan
Alan Keenan el 21 de Mayo de 2020
The answer given by Soumitra Vadnerkar works well for me.

Iniciar sesión para comentar.

 Respuesta aceptada

Steven Lord
Steven Lord el 22 de Nov. de 2024
Editada: MathWorks Support Team el 22 de Nov. de 2024

26 votos

With the introduction of the string array in release R2016b (and the ability to enclose text data in double quotes to create a string in release R2017a) you can also use: plot((1:10).^2) f = 70; c = (f-32)/1.8; title("Temperature is " + c + " C")

Más respuestas (2)

MathWorks Support Team
MathWorks Support Team el 22 de Mayo de 2019
How about this, given in help documentation:
plot((1:10).^2)
f = 70;
c = (f-32)/1.8;
title(['Temperature is ',num2str(c),' C'])

2 comentarios

MathWorks Support Team
MathWorks Support Team el 22 de Mayo de 2019
Thanks Soumitra Vadnerkar for this answer.
Giuseppe Degan Di Dieco
Giuseppe Degan Di Dieco el 21 de Oct. de 2021
Thank you for highlighting the documentation's content to beginners!
Best.

Iniciar sesión para comentar.

Adam
Adam el 10 de Sept. de 2014
title( ['just an example of ' num2str( variable ) ' that isnt working'] )
Does that work?

8 comentarios

Peter
Peter el 5 de En. de 2015
If i try to make that for two variable they appear together
Some idea to solve that?
Adam
Adam el 5 de En. de 2015
Editada: Adam el 5 de En. de 2015
Two variables in what way?
You can concatenate as many substrings as you want in this way so you don't have to include all variables in the one middle part, you can add an e.g.
', '
between two variables.
Peter
Peter el 5 de En. de 2015
Okey, i had a syntaxis problem with that. Sorry.
Adam
Adam el 5 de En. de 2015
title( ['just an example of ' num2str( variable ) ', ' num2str( otherVariable ) ' that isnt working'] )
Image Analyst
Image Analyst el 5 de En. de 2015
Peter, then use the sprintf() version. In my opinion, I think it's easier and more straightforward than using num2str and all those quotes.
Walter Roberson
Walter Roberson el 14 de Feb. de 2017
Dayan Guerra comments to Adam
Thank you, this is the only way I can it work, the sprintf() version is not working at all on mt2013
sprintf() would work fine in R2013* . However, the example given
str = sprintf('just an example of %d that isnt working', variable)
would be best for the case where the variable is an integer. If you have a variable that is numeric but not an integer, you would use a %e or %f or %g format.
Adam
Adam el 14 de Feb. de 2017
sprintf is definitely a neater approach. Back in 2014 I was less familiar with using sprintf so it didn't spring to mind for this!

Iniciar sesión para comentar.

Etiquetas

Aún no se han introducido etiquetas.

Preguntada:

el 10 de Sept. de 2014

Editada:

el 22 de Nov. de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by