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
- Un premier clic sur la courbe pour la sélectionner entièrement (toutes les portions de celle-ci).
- 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 de type Nuage de points
Les 2 derniers segments sont personnalisés. Toute la courbe est sélectionnée (1er clic).

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

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)
- Variantes pour le calcul de yn :
- 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

=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"

=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

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 :
- " 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. 🤪
- Exemple de chaine résultat :
- 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 résultat

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.

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.

Merci pour votre attention bienveillante.