Clear Filters
Clear Filters

How to add title and x/y-labels after generating multiple figures?

8 views (last 30 days)
x=[1 2 3] ;
y=[1 2 3; 1 3 9; 1 9 81];
for i = 1 : 3
f(i) = figure;
h(i) = plot(x,y(:,i))
end
%%what i want is something like this
f(i).xlabel('input Power [kW]')
f(i).xlabel('Energy of the system [kWh]')
This code shows shortly what I want. I generate in a loop a few figures, then afterwards to add the xlabel/ylabel and title. I can access the figure properties with f(i), but I could not find anywhere how to add the labels and the title.

Accepted Answer

Stephen23
Stephen23 on 18 Jun 2018
Edited: Stephen23 on 18 Jun 2018
Your approach of obtaining and using explicit graphics handles is a good idea. However the axes title and axes labels are properties of the axes, not properties of the figure, so you will need to get the axes handle and use that. Note that plot returns handles/s to the line object/s, and the axes are the parent of the line object/s, so you could either:
  1. get the parent of the line objects, or
  2. create the axes explicitly and store their handle as well:
fgh(i) = figure();
axh(i) = axes(fgh(i));
lnh(i) = plot(axh(i),x,y(:,i));
  1 Comment
Mattijs Mientki
Mattijs Mientki on 18 Jun 2018
Great, thank you! Also the image of the structure you send makes it more clear. I just have one question regarding do code you make. What does adding "axh(i)" to the plot function do?
plot(axh(i),x,y(:,i));

Sign in to comment.

More Answers (0)

Categories

Find more on Graphics Object Properties in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!