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

 Respuesta aceptada

Stephen23
Stephen23 el 25 de Abr. de 2022
Editada: Stephen23 el 25 de Abr. de 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 comentario

chris
chris el 25 de Abr. de 2022
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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Graphics Performance en Centro de ayuda y File Exchange.

Productos

Versión

R2022a

Preguntada:

el 25 de Abr. de 2022

Comentada:

el 25 de Abr. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by