で
おかげで、あなたは簡単にラベルを含むカラーバーの位置を(得るためにカラーバーのOuterPosition
プロパティを使用することができるようにカラーバーが変装して単にaxes
目的であったとティックラベル)。しかし、R2014bでは、カラーバーはそれ自身のグラフィックスオブジェクトであり、基本となる軸にはアクセスできなくなります。
一つの可能な回避策は、カラーバーの上に目に見えないaxes
オブジェクトを作成します(つまり、同じ目盛りとラベルを持っている)とのOuterPosition
それを取得することです。
function pos = getColorbarPosition(cb)
tmp = axes('Position', cb.Position, 'YAxisLocation', 'right', ...
'YLim', cb.Limits, 'FontSize', cb.FontSize, 'Units', cb.Units, ...
'FontWeight', cb.FontWeight, 'Visible', 'off', ...
'FontName', cb.FontName, 'YTick', cb.Ticks, ...
'YTickLabels', cb.TickLabels, 'XTick', []);
if ~isempty(cb.Label)
ylabel(tmp, cb.Label.String, 'FontSize', cb.Label.FontSize, ...
'FontWeight', cb.Label.FontWeight, 'FontWeight', cb.Label.FontWeight)
end
pos = get(tmp, 'OuterPosition');
delete(tmp);
end
どのバージョンのMATLABですか? – Suever
@Suever:2017a prerelease – TheodorBecker
一般に、秘密の性質上、公開前のソフトウェアについて公開フォーラムで質問しないことをお勧めします。つまり、この質問はR2014b以降のMATLABのすべてのバージョンに関係しています。 – Suever