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).

 Akzeptierte Antwort

Stephen23
Stephen23 am 25 Apr. 2022
Bearbeitet: Stephen23 am 25 Apr. 2022
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 Kommentar

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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Graphics Performance finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2022a

Gefragt:

am 25 Apr. 2022

Kommentiert:

am 25 Apr. 2022

Community Treasure Hunt

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

Start Hunting!

Translated by