MATLAB Answers

Can array values be used in plot titles?

76 views (last 30 days)
Tom
Tom on 8 Nov 2012
I'm really sorry I can't be more specific and include any code, but this is for an assignment and so it would be wrong to publish my code.
However, this is quite a generic question so I hoped this time it would not be a problem.
I have a figure with 5x2 plots on, and each of the ten plots correspond to a different frequency, which are generated by one entered value (not frequency).
Is it then possible to have those generated values (currently in an array) appear in the titles of each subplot?

  0 Comments

Sign in to comment.

Accepted Answer

José-Luis
José-Luis on 8 Nov 2012
a = 1:10;
all_titles = arrayfun(@(x) {num2str(x)},a);
h = cell(1,10);
for ii = 1:10;
h(ii) = {subplot(1,10,ii)};
end
cellfun(@(x,y) set(get(x,'title'),'string',y),h,all_titles)

  0 Comments

Sign in to comment.

More Answers (1)

Arthur
Arthur on 8 Nov 2012
Use num2str and title.

  5 Comments

Show 2 older comments
Tom
Tom on 8 Nov 2012
Thanks again - I must be doing something wrong though. Here's the section of code that's relevant.
clear all; close all;
f_max = 950;
freq = [f_max/10,f_max/4,f_max/1.5,f_max/1.1,f_max*1.1,...
f_max*1.2,f_max*1.3,f_max*2,f_max*3,f_max*4];
freq_n = numel(freq);
freq_i = 1:10;
all_titles = arrayfun(@(freq) {num2str(freq)},freq_i);
I'm getting all_titles coming out as a cell with just 1,2,3..10 in it.
Arthur
Arthur on 8 Nov 2012
You want to make titles from the array 'freq'? Then it should be
all_titles = arrayfun(@(x) {num2str(x)},freq);
Tom
Tom on 9 Nov 2012
Many thanks Arthur & Jose-Luis.

Sign in to comment.

Sign in to answer this question.

Products


Translated by