How to set an axes title within the constructor?
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Jan
le 18 Fév 2016
Modifié(e) : Jan
le 18 Fév 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.
Plus de réponses (1)
Jos (10584)
le 18 Fév 2016
You have to pass a handle to a title to the Title property of the axes:
ax = axes('Title',title('Fubar'))
2 commentaires
Jos (10584)
le 18 Fév 2016
Modifié(e) : Jos (10584)
le 18 Fév 2016
With hindsight this is not a good solution at all, as it actually creates two axes on top of each other ...
Voir également
Catégories
En savoir plus sur Line Plots dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!