Azzera filtri
Azzera filtri

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

8 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Stephen23
Stephen23 il 18 Giu 2018
Modificato: Stephen23 il 18 Giu 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 Commento
Mattijs Mientki
Mattijs Mientki il 18 Giu 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));

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Graphics Object Properties in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by