К сожалению, вы не можете использовать команду 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
Edit: Конечно, это хорошая идея, чтобы отключить автомасштабирование осей. В противном случае рисунок намного менее предсказуем.
благодарит Mehrwolf, когда я использую код выше, при запуске, открывая два окна, мой пользовательский интерфейс - это окно с именем «Рисунок 1». я думаю, я должен изменить цифру (1); –
@hamedajorloo: Да, вы правы. 'figure (1)' приведёт цифру no. 1 сверху. Я изменил это в коде. – Mehrwolf