在matlab GUI中画一条线

时间:2012-08-21 16:02:44

标签: matlab matlab-guide

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

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

1 个答案:

答案 0 :(得分:3)

不幸的是,您无法使用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

编辑:当然,禁用轴的自动缩放是个好主意。否则,绘图就不太可预测了。