0
(0)

Formater différemment le trait de la courbe à partir d'un des points de celle-ci

Le cas le plus facile.

Principe

On sélectionne le segment de la courbe et on le met en forme.

Mise en œuvre

  1. Un premier clic sur la courbe pour la sélectionner entièrement (toutes les portions de celle-ci).
  2. Un deuxième clic sur une portion/segment pour ne sélectionner que celui-ci.

On ensuite mettre en forme normalement la sélection (la portion).

Graphique de type Courbe

Les 2 derniers segments sont personnalisés et le dernier segment est sélectionné (voit marque 1, 2ème clic).

Graphique en courbe

Graphique de type Nuage de points

Les 2 derniers segments sont personnalisés. Toute la courbe est sélectionnée (1er clic).

Graphique de type Nuage de points

Remarque :

  • S'il est fastidieux de formater chaque segment manuellement, on pourra le réaliser de manière automatique via les techniques présentées dans les paragraphes suivants.

Formater différemment les portions de trait se situant à droite d'une valeur arbitraire

Courbe en nuage de points de 2 couleurs

Principe

On va ajouter une courbe de type Nuage de points se superposant à la courbe seulement sur la partie à droite du seuil choisi.
Il faudra donc calculer et générer un point supplémentaire correspondant au point de départ de cette nouvelle courbe.

Mise en œuvre

Génération des points pour un graphique en Nuage de points

Formule de génération des points de la courbe en nuages de points se superposant à la courbe
=LET(x;8;mx;A2:A10;my;B2:B10;
     pxa;EQUIV(x;mx;1);
     yn;(INDEX(my;pxa+1)-INDEX(my;pxa))*(x-INDEX(mx;pxa))/(INDEX(mx;pxa+1)-INDEX(mx;pxa))+INDEX(my;pxa);
     ASSEMB.V(ASSEMB.H(x;yn);EXCLURE(ASSEMB.H(mx;my);pxa))
)

Interprétation de la formule
  • x : L'abscisse ou commencer le traçé (le seuil). Ici 8.
  • mx : La matrice/plage des abscisses (sans ligne de titre).
  • my : La matrice/plage des ordonnées (sans ligne de titre).
  • pxa : Position de x dans la plage des abscisses.
  • yn : Calcule de la valeur de l'ordonné lié à x en se basant sur l'équation du segment de courbe correspondant (voir Interpolation linéaire — Wikipédia).
    • Variantes pour le calcul de yn :
      • TENDANCE(DECALER(my;pxa-1;;2);DECALER(mx;pxa-1;;2);x)
      • TENDANCE(INDEX(my;pxa):INDEX(my;pxa+1);INDEX(mx;pxa):INDEX(mx;pxa+1);x)
  • Résultat : Matrice de 2 colonnes (X, Y) avec les coordonnées de ce point supplémentaire et des points suivants de la courbe.

Génération des points pour un graphique de type Courbe

Pour illustrer comment vont se superposer un graphique de type Nuage de points, utilisant des abscisses "normales", avec un graphique utilisant des abscisses en catégories (graphique de type Courbe, Histogramme, Aire...), vous pouvez consulter Ajout d'indicateurs à un histogramme.

Formules de génération des points de la courbe en nuages de points se superposant à la courbe
Courbe débutant à une des catégories
Courbe en nuage de points de 2 couleurs

=LET(c;4;my;B17:B25;
     ASSEMB.H(SEQUENCE(NB(my)-c+1;;c);EXCLURE(my;c-1))
)

Interprétation de la formule
  • c : Catégorie de départ.
  • my : La matrice/plage des ordonnées (sans ligne de titre).
  • Résultat : Matrice de 2 colonnes de coordonnées de points à tracer (X, Y).
    • Colonne 1 : Séquence de nombres allant de c à l'indice de la dernière catégorie.
    • Colonne 2 : Les valeurs de my à partir de la catégorie c.
Début de courbe "libre"
Courbe en nuage de points de 2 couleurs

=LET(p;4,5;my;B17:B25;mx;SEQUENCE(NB(my));
     yn;(INDEX(my;p+1)-INDEX(my;p))*(p-INDEX(mx;p))/(INDEX(mx;p+1)-INDEX(mx;p))+INDEX(my;p);
     ms;ASSEMB.H(SEQUENCE(NB(my)-p+1;;ENT(p)+1);EXCLURE(my;p));
     ASSEMB.V(ASSEMB.H(p;yn);ms)
)

Interprétation de la formule
  • p : Position de départ (chaque catégorie correspond à une unité). Ici 4,5 est donc à mi-chemin entre les catégories 4 et 5.
  • my : La matrice/plage des ordonnées sans une ligne de titre.
  • mx : Matrice des abscisses (séquence de valeurs correspondantes aux catégories).
  • yn : Calcul de la valeur de l'ordonnée lié à "l'abscisse" p en se basant sur l'équation du segment de courbe correspondant.
  • ms : Matrice des points suivants.
  • Résultat : Matrice de 2 colonnes des points à tracer (X,Y) résultant de l'association du nouveau point calculé (p, yn) avec les points suivants.

Formater différemment les portions de trait se situant en dessous d'une valeur arbitraire

Courbe en nuage de points de 2 couleurs

Principe

On va ajouter une courbe en nuage de points se superposant à la courbe mais seulement sur la portion des segments de la courbe étant sous le seuil choisi.
Il faudra donc calculer et générer des points supplémentaires correspondants aux "ruptures" de cette nouvelle courbe (les intersections avec le seuil présenté par la droite verte).

Mise en œuvre

Génération des points pour un graphique en Nuage de points

Formule de génération des points de la courbe en nuages de points se superposant à la courbe
=LET(l;6;mx;M2:M10;my;N2:N10;
     myc;my-l;nb;NB(mx);
     ch;INDEX(REDUCE("";SEQUENCE(nb);LAMBDA(c;v;
        LET(ya;INDEX(my;v);xa;INDEX(mx;v);
            c&SI(ya<= l;"|"&xa&"c"&ya;"|@"&"c"&"@")
            &SIERREUR(SI((INDEX(myc;v)*INDEX(myc;v+1))<0;
            "|"&(l-ya)/(ya-INDEX(my;v+1))*(xa-INDEX(mx;v+1))+xa&"c"&l;
            "");""))));1);
     SIERREUR(EXCLURE(FRACTIONNER.TEXTE(ch;"c";"|");1)*1;#N/A)
)

( ! remplacer par ≤ par <=).

Interprétation de la formule
  • l : La Limite/le seuil (ici 6).
  • mx : La matrice/plage des abscisses (sans ligne de titre).
  • my : La matrice/plage des ordonnées (sans ligne de titre).
  • myc : La matrice des ordonnées "corrigées" (<0 au-dessus du seuil, > au-dessus du seuil).
  • Ch : Devant générer une matrice de taille variable (pour chaque point la courbe, on peut générer 0, 1 ou 2 points), on va passer par création d'une chaine représentant la matrice qui sera fractionnée par la suite.
    • Exemple de chaine résultat :
      Exemple de chaine résultat
      • " c " : Changement de colonne (X/Y).
      • " | " : Changement de ligne.
      • " @ " : Valeur #N/A permettant d'avoir une courbe fractionnée.
      • En noir, les coordonnés des points de la courbe inférieurs au seuil.
      • En rouge, les nouveaux points correspondant à l'intersection avec le seuil.
      • En bleu, les points générant les coupures dans la courbe correspondants anciens points au-dessus du seuil.
    • Les nouveaux points sont déterminés mathématiquement à partir de l'équation du segment correspondant.
    • La 1ère fonction (INDEX) peut sembler inutile, mais son rôle est de transformer la matrice résultante (matrice d'une seule valeur) en une valeur (cette valeur) sinon on ne pourra pas l'exploiter directement dans la fonction FRACTIONNER.TEXTE. 🤪
  • Résultat :
    • On fractionne Ch en lignes et colonnes (FRACTIONNER.TEXTE).
    • On supprime la ligne vide générée par le 1er " | " (EXCLURE).
    • * 1 est là pour générer une erreur pour la valeur " @ " qui seront ainsi remplacées par #N/A (SIERREUR).

Tableau de départ

Tableau de départ

Tableau résultat

Tableau résultat de la fonction

Génération des points pour un graphique en Courbe

Formule de génération des points de la courbe en nuages de points se superposant à la courbe
=LET(l;6;my;Q3:Q11;
     myc;my-l;nb;NB(my);
     mx;SEQUENCE(nb);
     ch;INDEX(REDUCE("";mx;LAMBDA(c;v;
        LET(ya;INDEX(my;v);xa;INDEX(mx;v);
        c&SI(ya<=l;"|"&xa&"c"&ya;"|@"&"c"&"@")
        &SIERREUR(SI((INDEX(myc;v)*INDEX(myc;v+1))<0;
        "|"&(l-ya)/(ya-INDEX(my;v+1))*(xa-INDEX(mx;v+1))+xa&"c"&l;
        "");""))));1);
     SIERREUR(EXCLURE(FRACTIONNER.TEXTE(ch;"c";"|");1)*1;#N/A)
)

Interprétation de la formule (différence par rapport à la formule précédente)
  • mx : sera généré sous forme d'une séquence de valeurs croissantes à partir de 1 correspondant aux catégories.
Graphique en Courbe de 2 couleurs

Génération des points pour un graphique en Nuage de points avec un seuil variable

Le seuil sera de 6 seulement pour les cinq 1ers points puis passera à 5.

Formule de génération des points de la courbe en nuages de points se superposant à la courbe
=LET(l;{6;6;6;6;6;5;5;5;5};mx;M2:M10;my;N2:N10;
     myc;my-l;nb;NB(mx);
     ch;INDEX(REDUCE("";SEQUENCE(nb);LAMBDA(c;v;
        LET(ya;INDEX(my;v);xa;INDEX(mx;v);
        c&SI(ya<=INDEX(l;v);"|"&xa&"c"&ya;"|@"&"c"&"@")
        &SIERREUR(SI((INDEX(myc;v)*INDEX(myc;v+1))<0;
        "|"&(INDEX(l;v)-ya)/(ya-INDEX(my;v+1))*(xa-INDEX(mx;v+1))+xa&"c"&INDEX(l;v);
        "");""))));1);
SIERREUR(EXCLURE(FRACTIONNER.TEXTE(ch;"c";"|");1)*1;#N/A)
)

Interprétation de la formule (différence par rapport à la formule précédente)
  • l : Une matrice de valeurs (constante matricielle, plage, matrice résultat). Elle impliquera l'utilisation d'une fonction INDEX à chacune des utilisations de cette valeur dans la suite de la formule.
Courbe en nuage de points de 2 couleurs avec un seuil variable

Merci pour votre attention bienveillante.

Article intéressant ?

Cliquez sur une étoile pour noter cet article !

Note moyenne 0 / 5. Nombre de votes : 0

Aucun vote pour l'instant ! Soyez le premier à noter ce post.

Nous sommes désolés que cet article ne vous ait pas été utile !

Améliorons cet article !

Dites nous comment nous pouvons améliorer cet article ?

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *