我正在尝试生成一些嵌套的平铺布局,并有一个与所有这些布局相关联的颜色条。
有一种方法可以将颜色条放在单平铺布局的外部(此处):
但是,这对于 nested 平铺布局失败。
这是一个例子:
figure;
tl = tiledlayout(4, 1);
for ii = 1:4
tl2 = tiledlayout(tl, 1, ii);
tl2.Layout.Tile = ii;
nexttile(tl2,ii); imagesc;
end
cb = colorbar();
cb.Layout.Tile = 'east';
(这当然是一个最小的示例。在示例中,我可以将平铺布局嵌套在列而不是行中 - 但这不适合我的实际代码。)
我希望颜色条出现在所有轴的一侧。与上面的示例类似,但适用于嵌套的平铺布局。这要怎么做?
迄今为止不成功的尝试:
tl
),即使用 cb = colorbar('Parent', tl);
会导致错误。tl
(set(cb,'Parent',tl);
),因为颜色条必须与其轴具有相同的父级。set(gca, 'Parent', tl); set(cb, 'Parent', tl);
)。您可以从网格图块布局开始,并通过 span 选项利用 nexttile() 函数。颜色条也需要一些手动调整。
figure;
tiledlayout(4, 5);
for ii = 1:4
nexttile((ii-1)*5+ii,[1,5-ii]);
imagesc;
end
ax=nexttile(5,[4,1]);
cbh=colorbar(ax);
ax.Visible="off";
cbh.Position(1)=ax.Position(1);
cbh.AxisLocation='in';
会给你