Tiled layout with boxplot and 'Padding', 'none'

조회 수: 20 (최근 30일)
Benoit Espinola
Benoit Espinola 2020년 6월 17일
편집: Matt J 2021년 4월 16일
When using 'Padding','none' for my tiled layout. The box plots are not centered and are cropped inside the figure.
figure
t = tiledlayout(1,2, 'Padding', 'none');
nexttile;
boxplot(randn(10,5));
nexttile;
boxplot(randn(10,5));
Result:
Why is that and how to solve it?
  댓글 수: 2
Kevin Joshi
Kevin Joshi 2020년 6월 17일
Suggestion: Use tight_subplot
https://in.mathworks.com/matlabcentral/fileexchange/27991-tight_subplot-nh-nw-gap-marg_h-marg_w
Matt J
Matt J 2021년 4월 16일
'Padding'='none' is not a documented setting. The choices are either 'loose','compact', or 'tight'.

댓글을 달려면 로그인하십시오.

채택된 답변

Adam Danz
Adam Danz 2021년 4월 16일
Why this is happening
The boxplot function uses a local function setLabelappdata() to adjust the axes' OuterPosition, PositionConstraint & LooseInset properties after the boxplots are rendered. However, these properties are not editable in axes created by TiledLayout. Matlab throws a warning. Hopefully MathWorks will either address this problem or make the position properties of tiledChartLayout objects editable.
Warning: Unable to set 'Position', 'InnerPosition', 'OuterPosition', or
'ActivePositionProperty' for objects in a TiledChartLayout
Workarounds
1. In your case, set padding to compact instead of none (see other updates to Padding options in r2021a).
2. You can turn the warning off (see the answer from this similar thread).
3. Use axes or subplot instead of tiledlayout.
  댓글 수: 1
Matt J
Matt J 2021년 4월 16일
편집: Matt J 2021년 4월 16일
There are also alternative boxplot routines on the File Exchange that you could try, which do not attempt the property settings that Adam mentions. This one, in particular, seems to work,
t = tiledlayout(1,2, 'Padding', 'tight');
nexttile;
boxplotx(randn(10,5));
nexttile;
boxplotx(randn(10,5));

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

제품


릴리스

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by