【问题标题】:draw a line in matlab GUI [closed]在matlab GUI中画一条线[关闭]
【发布时间】:2012-08-21 16:02:44
【问题描述】:

我是 matlab 工具的新手。我想在 matlab 的 GUI 中画很多线。 matlab中的标准工具没有形状或线条等控件。

我的 UI 包括其他控件,例如按钮和静态文本。

【问题讨论】:

    标签: matlab matlab-guide


    【解决方案1】:

    很遗憾,您不能使用line() 命令直接在图形上绘图。但是,有一个技巧:您可以制作一个不可见的轴,因为可见性不会传播给孩子。在不可见的轴上绘图几乎与直接在图形上绘图一样好。这是一个例子:

    f = figure;
    a = axes;
    set(a, 'Visible', 'off');
    %# Stretch the axes over the whole figure.
    set(a, 'Position', [0, 0, 1, 1]);
    %# Switch off autoscaling.
    set(a, 'Xlim', [0, 1], 'YLim', [0, 1]);
    
    %# Create all the controls.
    uicontrol('Parent', f, 'Style', 'edit', 'String', 'Input...');
    
    %# Draw!
    for y = 1 : 9
        line([0.1, 1], [1 - y/10, 0.5], 'Parent', a)
    end
    

    编辑:当然,禁用轴的自动缩放是个好主意。否则,绘图的可预测性会大大降低。

    【讨论】:

    • 感谢 Mehrwolf,当我使用上面的代码时,在运行时打开两个窗口,我的 UI 是一个带有“图 1”名称的窗口。我想我必须改变图(1);
    • @hamedajorloo:是的,你是对的。 figure(1) 会带来图号。 1 在上面。我在代码中更改了这一点。
    猜你喜欢
    • 1970-01-01
    • 2020-10-08
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    • 2010-11-10
    • 1970-01-01
    相关资源
    最近更新 更多