Returning Plot handle From a function.

5 visualizaciones (últimos 30 días)
Tim Mottram
Tim Mottram el 25 de Sept. de 2012
Hi Guys,
I have a function called myFill which uses the following commands to plot two filled areas:
f = fill(freqPoints,filledGood,goodColour,freqPoints,filledBad,badColour);
set(f(1),'EdgeColor',goodEdge,'FaceAlpha',0.5,'EdgeAlpha',1)
set(f(2),'EdgeColor',badEdge,'FaceAlpha',0.5,'EdgeAlpha',1)
I want to be able to add a line at a later point in my code so I know I need the handle to the plot. But when I try:
[ax,f] = fill(...)
I get the error "To many output arguments."
Can someone tell me how to return a handle to the plot, which can be used to up date it with a new line, please. Thanks in advance.
Kind regards,
Tim.

Respuesta aceptada

Tim Mottram
Tim Mottram el 25 de Sept. de 2012
Editada: Tim Mottram el 25 de Sept. de 2012
H = myFill
f = fill(freqPoints,filledGood,goodColour,freqPoints,filledBad,badColour);
set(f(1),'EdgeColor',goodEdge,'FaceAlpha',0.5,'EdgeAlpha',1)
set(f(2),'EdgeColor',badEdge,'FaceAlpha',0.5,'EdgeAlpha',1)
THEN
H = gca
end
Outside function:
hold on
H = plot(x,newLine)
hold off

Más respuestas (1)

Wayne King
Wayne King el 25 de Sept. de 2012
Editada: Wayne King el 25 de Sept. de 2012
you don't use two output arguments, just
h = fill()
If you want a handle to the current axes, you can just do
ax = gca;
with the plot active.

Categorías

Más información sobre Graphics en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by