Setting LineWith property for all lines by point-notation
Show older comments
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!
Accepted Answer
More Answers (1)
Walter Roberson
on 19 Nov 2016
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
Categories
Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!