Contenu principal

hold

Conserver le tracé courant lors de l’ajout de nouveaux tracés

Description

hold on active la fonctionnalité de hold des axes qui conserve les tracés dans les axes courants pour que les nouveaux tracés ajoutés aux axes ne suppriment pas ceux qui existent déjà. Lorsque la fonctionnalité de hold est activée, les nouveaux tracés utilisent les couleurs et les styles de ligne suivants en fonction des propriétés ColorOrder et LineStyleOrder des axes. MATLAB® ajuste les limites, les marques et les étiquettes de graduation des axes pour afficher toute la plage de données. En l’absence d’objet axes, la commande hold en crée un.

exemple

hold off désactive la fonctionnalité de hold des axes pour que les nouveaux tracés ajoutés aux axes effacent les tracés existants et réinitialisent toutes les propriétés des axes. Lorsque la fonctionnalité de hold est désactivée, le prochain tracé ajouté aux axes utilise la première couleur et le premier style de ligne en fonction des propriétés ColorOrder et LineStyleOrder des axes. Cette option constitue le comportement par défaut.

exemple

hold bascule l'état de la fonctionnalité de hold entre On (activée) et Off (désactivée).

hold(state) définit l’état de la fonctionnalité de hold des axes en spécifiant une valeur state. Vous pouvez spécifier state en tant que "on", "off", valeur logique ou valeur OnOffSwitchState.

hold(ax,___) définit l'état de la fonctionnalité de hold pour les axes spécifiés par ax au lieu des axes courants. Spécifiez ax avant tous les autres arguments.

exemple

Exemples

réduire tout

Créez un tracé linéaire. Utilisez hold on pour ajouter un deuxième tracé linéaire sans supprimer le tracé linéaire existant. Le nouveau graphique utilise la couleur et le style de ligne suivants en fonction des propriétés des axes ColorOrder et LineStyleOrder. Désactivez ensuite la fonctionnalité de hold.

x = linspace(-pi,pi);
y1 = sin(x);
plot(x,y1)

hold on
y2 = cos(x);
plot(x,y2)
hold off

Figure contains an axes object. The axes object contains 2 objects of type line.

Une fois la fonctionnalité de hold désactivé, les nouveaux tracés suppriment les tracés existants. Les nouveaux tracés démarrent au début de l’ordre des couleurs et de l’ordre des styles de ligne.

y3 = sin(2*x);
plot(x,y3)

Figure contains an axes object. The axes object contains an object of type line.

Vous pouvez afficher une mosaïque de tracés avec les fonctions tiledlayout et nexttile. Utilisez la fonction tiledlayout pour créer une disposition de graphique en mosaïque de 2 x 1. Utilisez la fonction nexttile pour créer les objets axes, ax1 et ax2. Tracez une onde sinusoïdale sur chaque axe.

x = linspace(0,10);
y1 = sin(x);
y2 = cos(x);
tiledlayout(2,1)

% Top plot
ax1 = nexttile;
plot(ax1,x,y1)

% Bottom plot
ax2 = nexttile;
plot(ax2,x,y2)

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type line.

Ajoutez une deuxième onde sinusoïdale aux axes supérieurs.

hold(ax1,'on')
y3 = sin(2*x);
plot(ax1,x,y3)
hold(ax1,'off')

Figure contains 2 axes objects. Axes object 1 contains 2 objects of type line. Axes object 2 contains an object of type line.

Créez une disposition de graphique en mosaïque de 2 x 1. Appelez la fonction nexttile pour créer deux objets axes et réalisez des tracés dans ces axes.

t = tiledlayout(1,2);
ax1 = nexttile;
ax2 = nexttile;
plot(ax1,[0 1 0 1])
scatter(ax2,rand(1,10),rand(1,10),'filled')

Figure contains 2 axes objects. Axes object 1 contains an object of type line. Axes object 2 contains an object of type scatter.

Définissez l’état hold pour les deux axes sur 'on'. Affichez ensuite des données supplémentaires dans chaque tracé.

hold([ax1 ax2],'on')
plot(ax1,[.5 .2 .5 .2])
scatter(ax2,rand(1,10),rand(1,10),'filled')

Figure contains 2 axes objects. Axes object 1 contains 2 objects of type line. Axes object 2 contains 2 objects of type scatter.

Arguments d'entrée

réduire tout

État de la fonctionnalité de hold des axes, spécifié sous forme d’une des valeurs suivantes :

  • "on" ou "off" : la valeur "on" active la fonctionnalité de hold et la valeur "off" la désactive. Vous pouvez également spécifier les vecteurs de caractères 'on' ou 'off'.

  • Valeur numérique ou logique 1 (true) ou 0 (false) : la valeur 1 ou true active la fonctionnalité de hold et la valeur 0 ou false la désactive. (depuis R2024a)

  • Valeur matlab.lang.OnOffSwitchState : la valeur matlab.lang.OnOffSwitchState.on active la fonctionnalité de hold et la valeur matlab.lang.OnOffSwitchState.off la désactive. (depuis R2024a)

Axes cibles, spécifiés sous une des formes suivantes :

  • Tout type d’objet axes : un objet Axes, PolarAxes ou GeographicAxes.

  • Un tableau d’objets axes appartenant à la même classe. Pour déterminer la classe, utilisez la fonction class.

Si vous ne spécifiez pas les axes, hold définit l’état de la fonctionnalité de hold pour les axes courants.

Conseils

  • Utilisez la fonction ishold pour tester l’état de la fonctionnalité de hold.

Algorithmes

La fonction hold définit les propriétés suivantes :

  • Propriété des axes NextPlot - Définit cette propriété de l’objet associé Axes, PolarAxes ou GeographicAxes sur 'add' ou 'replace'.

  • Propriété de figure NextPlot - Définit cette propriété de l’objet Figure sur 'add'.

Historique des versions

Introduit avant R2006a

développer tout