Setting LineWith property for all lines by point-notation
显示 更早的评论
Hi,
Why can't the LineWidth property be set by point notation (for all Children of an axes object at once)? As far as i know, this worked in some earlier version - but i'm not sure about this. I'm using Matlab R2016b.
Example:
y = rand(10, 3);
x = 1:10;
hAx = axes();
plot(hAx, x, y);
%hAx.Children.LineWidth = 5; % <-- this won't work
set(hAx.Children, 'LineWidth', 5) % ..but this
Then again, this will work (for line 1):
hAx.Children(1).LineWidth = 3;
Children is a array (of lines), so setting all its values by a scalar should be possible(?)
The errormessage is: Expected one output from a curly brace or dot indexing expression, but there were 3 results.
Greetings and thanks in advance!
采纳的回答
更多回答(1 个)
Walter Roberson
2016-11-19
When you use dot notation you are pretty much using structure semantics so haX.Children.LineWidth is pretty much structure expansion
[haX.Children.LineWidth] = deal(5)
Might possibly work, perhaps
类别
在 帮助中心 和 File Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!