Returning Plot handle From a function.

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.

 採用された回答

Tim Mottram
Tim Mottram 2012 年 9 月 25 日
編集済み: Tim Mottram 2012 年 9 月 25 日

0 投票

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

その他の回答 (1 件)

Wayne King
Wayne King 2012 年 9 月 25 日
編集済み: Wayne King 2012 年 9 月 25 日

0 投票

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.

カテゴリ

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by