Adding titles squashes one of my images in a TiledChartLayout (R2020a)

6 次查看(过去 30 天)
I have a TiledChartLayout of 6 images that initially looks like this:
Then, however, I add titles to the upper 5 images and it squashes the lower image to a flat line, resulting in this:
I tried resizing the figure, to no avail. Why might this be happening and how do I prevent it?
  6 个评论
Matt J
Matt J 2021-4-30
Seems to work fine in R2021a:
h=openfig('testFig');
str='ABCDE';
ax=flip(findobj('Type','axes'));
for i=1:5, title(ax(i),str(i)); ax(i).FontSize=15; end
h.Position(4)=1.1*h.Position(4);
figure(h)

请先登录,再进行评论。

采纳的回答

Benjamin Kraus
Benjamin Kraus 2021-4-30
编辑:Benjamin Kraus 2021-4-30
I opened the figure you created, and I see you have set the GridSize to [2756 3840].
TiledChartLayout is attempting to keep each of those axes the same height, so when you add a title to any axes in the second row it is going to make space for a title on all 2755 rows in between the axes.
A better approach is to leverage the south tile of the TiledChartLayout.
Generically:
t = tiledlayout('flow');
for i = 1:5
ax(i) = nexttile(t);
imagesc(ax(i),rand(100));
axis(ax(i),'off','square');
title(ax(i), char('@'+i));
ax(i).FontSize = 15;
end
ax(6) = axes(t);
imagesc(ax(6),linspace(0,1,256).*[1;1]);
colormap(t.Parent, gray);
ax(6).Layout.Tile = 'south';
pbaspect(ax(6),[20 1 1])
axis(ax(6),'off')
Or better yet, use the regular colorbar:
t = tiledlayout('flow');
for i = 1:5
ax(i) = nexttile(t);
imagesc(ax(i),rand(100));
axis(ax(i),'off','square');
title(ax(i), char('@'+i));
ax(i).FontSize = 15;
end
colormap(t.Parent, gray);
c = colorbar;
c.Layout.Tile = 'south';
  3 个评论
Benjamin Kraus
Benjamin Kraus 2021-5-4
@Matt J TiledChartLayout first shipped in R2019b, but there have been some bug fixes and improvements over the past few releases. One improvement (made in R2020b) is in how TileChartLayout handles axes with constrained plot box aspect ratios. The Colorbar gained the Layout property in R2020b as well.
Matt J
Matt J 2021-5-4
Then, is there any workaround that will let me constrain plot box aspect ratios in 2020a?

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Axes Appearance 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by