Malheureusement, vous ne pouvez pas utiliser la commande line()
pour dessiner directement sur la figure. Cependant, il y a un truc: vous pouvez faire un axe invisible parce que la visibilité ne se propage pas aux enfants. Dessiner sur un axe invisible, est presque aussi bon que de dessiner sur la figure directement. Voici un exemple:
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: Bien sûr, il est une bonne idée de désactiver l'échelle automatique des axes. Sinon, le dessin est beaucoup moins prévisible.
merci Mehrwolf, quand j'utilise le code ci-dessus, à la course, l'ouverture de deux fenêtres, le mon interface utilisateur et une fenêtre avec le nom "Figure 1". je pense que je dois changer la figure (1); –
@hamedajorloo: Oui, vous avez raison. 'figure (1)' apportera le chiffre non. 1 en haut. J'ai changé cela dans le code. – Mehrwolf