Optional graphics handle as first argument in function

Hi,
similar to this question, I am creating some plotting functions and would like to stay consistent with Matlab built-in behavior. I.e. have a graphics handle (axes, figure, TiledChartLayout etc.) as an optional first argument for my functions (e.g. plot, nexttile).
I can see how to achieve it using varargin and an InputParser but am wondering if this can be done using the function argument validation scheme (which I appreciate a lot).

 채택된 답변

Stephen23
Stephen23 2022년 4월 25일
편집: Stephen23 2022년 4월 25일
From my reading of the "Function Argument Validation" documentation here:
there is currently no way to have optional leading arguments like that.
Here is a possible untested workaround, by defining a very simple wrapper function:
function myfun(one,varargin)
if ishghandle(one)
locfun(one,varargin{:})
else
locfun(gcf,one,varargin{:})
end
end
function locfun(obj,A,B,C,...)
arguments
..
end
end

댓글 수: 1

Thanks for the suggestion. It anyway is a bit uncommon, I would say, to have a leading optional argument. So no wonder this is hard to reproduce.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Graphics Performance에 대해 자세히 알아보기

제품

릴리스

R2022a

질문:

2022년 4월 25일

댓글:

2022년 4월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by