【发布时间】:2012-08-21 16:02:44
【问题描述】:
我是 matlab 工具的新手。我想在 matlab 的 GUI 中画很多线。 matlab中的标准工具没有形状或线条等控件。
我的 UI 包括其他控件,例如按钮和静态文本。
【问题讨论】:
标签: matlab matlab-guide
我是 matlab 工具的新手。我想在 matlab 的 GUI 中画很多线。 matlab中的标准工具没有形状或线条等控件。
我的 UI 包括其他控件,例如按钮和静态文本。
【问题讨论】:
标签: matlab matlab-guide
很遗憾,您不能使用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
编辑:当然,禁用轴的自动缩放是个好主意。否则,绘图的可预测性会大大降低。
【讨论】:
figure(1) 会带来图号。 1 在上面。我在代码中更改了这一点。