Input a variable into a plot title

3.452 visualizzazioni (ultimi 30 giorni)
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 Commenti
Soumitra Vadnerkar
Soumitra Vadnerkar il 26 Set 2017
Modificato: Walter Roberson il 26 Set 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 il 21 Mag 2020
The answer given by Soumitra Vadnerkar works well for me.

Accedi per commentare.

Risposta accettata

Steven Lord
Steven Lord il 22 Mag 2019
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")

Più risposte (2)

MathWorks Support Team
MathWorks Support Team il 22 Mag 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 Commenti
Giuseppe Degan Di Dieco
Giuseppe Degan Di Dieco il 21 Ott 2021
Thank you for highlighting the documentation's content to beginners!
Best.

Accedi per commentare.


Adam
Adam il 10 Set 2014
title( ['just an example of ' num2str( variable ) ' that isnt working'] )
Does that work?
  8 Commenti
Walter Roberson
Walter Roberson il 14 Feb 2017
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 il 14 Feb 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!

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by