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

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)

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

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.
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.

This question is closed.

Asked:

on 7 Nov 2020

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!