How to set an axes title within the constructor?
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Brendan
el 18 de Feb. de 2016
Editada: Jos (10584)
el 18 de Feb. de 2016
Hi Guys,
Is it possible to set nested properties, such as a title string, within an axes constructor? For example, I can set the axes x-limits using:
ax = axes('XLim',[0,10])
without any issue. However, I cannot do the same thing with nested properties such as the Title string. Using
ax = axes('Title','Fubar')
doesn't do anything (but doesn't return an error!), whilst
ax = axes('Title.String','Fubar')
returns an error: "There is no Title.String property on the Axes class."
I understand that the axes Title is itself a handle object with its own properties - and that I could set each of these properties in separate steps. What I am looking for here is an elegant (built-in?) way to set multiple axes properties using one command. My approach works for top level properties such as ZLim, XScale etc, but I would like to use a similar approach for nested properties.
Any takers?
0 comentarios
Respuesta aceptada
Jan
el 18 de Feb. de 2016
Editada: Jan
el 18 de Feb. de 2016
I do not know a direct method to do this. But you can write an M-file, which checks if the wanted poperty is nested or not and then set the value accoringly.
function AxesH = myAxes(AxesH, varargin)
Args = varargin;
if ~ishghandle(AxesH)
Args = cat(2, {AxesH}, Args)
AxesH = axes();
end
for iArg = 1:2:numel(Args)
switch lower(Args{iArg})
case 'title'
set(get(AxesH, 'Title'), Args{iArg + 2});
...
otherwise
set(AxesH, Args{iArg}, Args{iArg + 1});
end
Now call this:
myAxes('XLim', [0,10], 'Title', 'Fubar')
I cannot test this currently.
Más respuestas (1)
Jos (10584)
el 18 de Feb. de 2016
You have to pass a handle to a title to the Title property of the axes:
ax = axes('Title',title('Fubar'))
2 comentarios
Jos (10584)
el 18 de Feb. de 2016
Editada: Jos (10584)
el 18 de Feb. de 2016
With hindsight this is not a good solution at all, as it actually creates two axes on top of each other ...
Ver también
Categorías
Más información sobre Line Plots en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!