Returning Plot handle From a function.

5 ビュー (過去 30 日間)
Tim Mottram
Tim Mottram 2012 年 9 月 25 日
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 日
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 日
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.

カテゴリ

Help Center および File ExchangeGraphics についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by