MATLAB Answers

Albert Lu
0

Why are title and x/y lable not listed in Children property of axes?

Albert Lu
さんによって質問されました 2016 年 6 月 1 日
最新アクティビティ David
さんによって 回答されました 2016 年 7 月 11 日
Hi there,
I tried
>> allchild(ax)
ans =
6x1 graphics array:
Group
Line
Line
Line
Line
Line
which is supporsed to list all, including hidden children of axes. However it turns that there were only 5 lines that I draw and a empty group.
>> ax.Children(1)
ans =
Group with properties:
Children: [0x0 GraphicsPlaceholder]
Visible: 'on'
HitTest: 'on'e
So could someone help to expain why title and x/y lables are gone? If you do
Title.Parent
ans =
Axes
How come it is not a Children of axes while at same time its parent is axes?
And also why can't I get the handle of a title by using
gco
ans =
0x0 empty GraphicsPlaceholder array.
when Title is obviously an object (primitive.Text)
Thanks so much for help!

  0 件のコメント

サインイン to comment.

3 件の回答

回答者: Steven Lord
2016 年 6 月 1 日
 採用された回答

The title handle and the handles to the axes labels are stored in properties Title, XLabel, YLabel, and ZLabel in the axes rather than being Children of the axes. See the "Title and Axes Labels" section in the Axes Properties documentation for more information, including a Note that states they are not Children of the axes.

  6 件のコメント

Steven Lord
2016 年 6 月 2 日
A Title is a handle object already. To access it retrieve the Title property of the axes.
ax = axes;
t = ax.Title;
Another way to retrieve the title handle is to call the title function with an output argument.
I would personally avoid gco as it can too easily change without you realizing it. Clicking in a different location in the figure or in a different figure can change it.
Albert Lu
2016 年 6 月 2 日
I didn't notice the Title property is a handle itself. Thank you so much for improving my understanding!
Albert Lu
2016 年 6 月 2 日
But I still don't understand why gco returns an empty graphic place holder on title and x/y label? Are they a little bit special compared with ordinary graphic objects?

サインイン to comment.


回答者: Jan Orwat
2016 年 6 月 1 日

The answer is that those aren't axes children. Here is documentation page that mention it: Graphics Objects
Quote: Note: An axes is a single object that represents x-, y-, and z-axis scales, tick marks, tick labels, axis labels, and so on.

  1 件のコメント

Albert Lu
2016 年 6 月 2 日
Hi Jan, I understood what you said but that didn't quite answer my question. I've rephrase my question to make it clearer. Thank you!

サインイン to comment.


回答者: David
2016 年 7 月 11 日

Related question, how about the title of a colorbar? I can access it with get(h,'title'), where h is the handle to a colorbar, but if I look at h's properties, there's no 'title' there. What's the deal?

  0 件のコメント

サインイン to comment.



Translated by