1

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

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

4

1 回答 1

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

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

于 2012-08-21T16:40:00.317 回答