MATLAB Answers

How do I create a string for a plot title from one fixed string and one I get from INPUT?

6 views (last 30 days)
M G on 27 May 2011
I have a problem in plot's titles. I do the following:
name = input('plot''s title');
This is perfectly OK and it gives the name that is already input as a title, but I want to have a title in which one part is always fix and the other part is the name that I can change it each time. For example I would like to have titles like this:


Sign in to comment.

Accepted Answer

Arnaud Miege
Arnaud Miege on 27 May 2011
name1 = input('Plot's title part 1','s');
name2 = input('Plot's title part 2','s');
t = 0:0.01:10;
y = sin(t);
title([name1 '_' name2],'Interpreter', 'none')
set(gcf,'Name',[name1 '_' name2]);


M G on 27 May 2011
Thanks a lot Arnaud; this is what I want. One thins that I didn't understand is the 6th line (title([name1 '_' name2],'Interpreter', 'none')). What does it do? Cause even if it is removed the program still works appropriately!
Arnaud Miege
Arnaud Miege on 27 May 2011
set(gca,'Name',...) sets the name of the figure window, not the title of the plot. title(...) puts a title on the actual plot. The 'Interpreter' property is for the TeX intepreter so that it doesn't think the '_' means a subscript. Have a look at the doc for title:

Sign in to comment.

More Answers (1)

Ben Mitch
Ben Mitch on 27 May 2011
In addition to what Arnaud suggests, I also sometimes find it useful to keep a bit of name in the plot and change only the second bit when you update it. For example, use
set(gcf, 'Name', ['My Application: My Document']);
to set the title initially, then update the 'document name' (or whatever) using something like this:
name = get(gcf, 'Name');
set(gcf, 'Name', [name(1:find(name == ':')+1) 'My New Document']);

Community Treasure Hunt

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

Start Hunting!

Translated by