【问题标题】:Size of color bar including labels in Matlab R2014b [duplicate]Matlab R2014b中包括标签的彩条大小[重复]
【发布时间】:2014-10-11 09:57:38
【问题描述】:

如何使用 Matlab R2014b 找出彩条占用的空间?我需要知道包括所有标签在内的总大小,但如果我知道的话

c = colorbar;
get(c,'TightInset');

我收到错误消息

使用 matlab.graphics.illustration.ColorBar/get 时出错
ColorBar 类上没有 TightInset 属性。

OuterPosition 也是如此。显然,R2014b 中的 ColorBar 类不再支持这些属性。

【问题讨论】:

    标签: matlab plot colorbar matlab-hg2


    【解决方案1】:

    试试:

    original = get(c, 'Position')
    set(c, 'Position', [original(1) original(2)*0.5, original(3), original(4)*0.5])
    

    句柄 c 包含一个“位置”属性,与许多图形句柄相同。查阅文档以更全面地理解它。要验证这是否也转换了颜色条标题和标签的位置,请执行以下操作:

    set(get(c, 'YLabel'), 'String', {'a', 'b', 'c'})     % Arbitrary Labels
    set(get(c, 'Title'), 'String', {'Colorbar Title'});  % Arbitrary Title
    set(c, 'Position', [original])                       % Resize back to original and observe!
    

    【讨论】:

    • 据我了解,Position 属性不包括刻度线、标签、标题和轴标签(请参阅http://www.mathworks.ch/ch/help/matlab/creating_plots/automatic-axes-resize.html)。
    • 试试我编辑的回复,应该做你想做的。
    • 对不起,我不明白你的回答。我想知道的是彩条占用的空间量,包括刻度线、标签、标题和轴标签。所以我希望得到宽度 = ... 和高度 = ... 形式的答案
    • @user1919235 get(c, 'Position') 中的最后两个值是宽度和高度。调用 Position 属性会产生 4 元素数组 [x y width height]。它回答了你的问题吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-02
    相关资源
    最近更新 更多