Info

This question is closed. Reopen it to edit or answer.

How can I have the title on a graph change depending on whats in the graph?

1 view (last 30 days)
I have created 7 graphs, all of them are comparing different things, but the y axis is the same in all. I have a working for loop generating the graphs. I was wondering if I can add the title into the loop so it creates the title based on what is in the x axis of the plot. The code below plots them perfectly, I am just looking for a way to add a unique title to each.
for i = 1:numel(xcardata)
figure(i)
plot(xcardata{i}, ycardata, 'ob')
end

Answers (1)

Star Strider
Star Strider on 7 Nov 2020
Use sprintf in the title.
Example —
x = 1:0.1:5;
for k = 1:5
y = x.^k;
figure
plot(x, y)
title(sprintf('y = x^{%d}',k))
end
.
  2 Comments
Nicholas Connolly
Nicholas Connolly on 8 Nov 2020
I understand the concept, but I am trying to add words, does the %d only work for numbers? I cant seem to get it to work. For example say I have a list of words such as (apple, dog, bannana, icecream) how do I make each of those titles on a seperate graph.
Star Strider
Star Strider on 8 Nov 2020
Choose the text you want in the title sprintf call, then use '%s' instead to write character vectors , i.e. words.
See the sprintf documentation section on formatSpec for details.

Community Treasure Hunt

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

Start Hunting!