{"id":2736,"date":"2026-10-14T18:00:54","date_gmt":"2026-10-14T18:00:54","guid":{"rendered":"http:\/\/french.arabpsychology.com\/statistics\/comment-creer-graphique-densite-matplotlib-exemples\/"},"modified":"2026-10-14T18:00:54","modified_gmt":"2026-10-14T18:00:54","slug":"comment-creer-graphique-densite-matplotlib-exemples","status":"publish","type":"psych_stat","link":"https:\/\/french.arabpsychology.com\/?psych_stat=comment-creer-graphique-densite-matplotlib-exemples","title":{"rendered":"Comment cr\u00e9er un graphique de densit\u00e9 dans Matplotlib (avec exemples)"},"content":{"rendered":"<p>Dans le domaine de l&rsquo;analyse exploratoire de donn\u00e9es et de la mod\u00e9lisation statistique moderne, la repr\u00e9sentation visuelle de la distribution d&rsquo;une variable al\u00e9atoire continue constitue une \u00e9tape fondamentale. Si l&rsquo;histogramme traditionnel demeure l&rsquo;outil graphique le plus universellement r\u00e9pandu depuis son introduction formelle par Karl Pearson \u00e0 la fin du dix-neuvi\u00e8me si\u00e8cle, ses limites intrins\u00e8ques \u2014 notamment la sensibilit\u00e9 arbitraire au choix de l&rsquo;origine et de la largeur des classes \u2014 incitent fr\u00e9quemment les analystes et les chercheurs \u00e0 lui pr\u00e9f\u00e9rer l&rsquo;estimation de la densit\u00e9 par noyau, commun\u00e9ment d\u00e9sign\u00e9e sous l&rsquo;acronyme KDE pour <em>Kernel Density Estimation<\/em>. Cette approche non param\u00e9trique produit une courbe lisse et continue qui mod\u00e9lise fid\u00e8lement la fonction de densit\u00e9 de probabilit\u00e9 sous-jacente sans imposer de postulats distributionnels pr\u00e9alables rigides.<\/p>\n<p>L&rsquo;\u00e9cosyst\u00e8me scientifique du langage Python s&rsquo;est impos\u00e9 comme une r\u00e9f\u00e9rence incontournable pour la manipulation et la visualisation de tels flux de donn\u00e9es quantitatifs. Au c\u0153ur de cette infrastructure se trouve <a rel=\"noopener noreferrer\" href=\"https:\/\/matplotlib.org\/\">Matplotlib<\/a>, une biblioth\u00e8que pionni\u00e8re offrant un contr\u00f4le granul\u00e9 et d\u00e9terministe sur l&rsquo;ensemble des composants d&rsquo;une figure graphique, coupl\u00e9e \u00e0 <a rel=\"noopener noreferrer\" href=\"https:\/\/seaborn.pydata.org\/\">Seaborn<\/a>, une surcouche de haut niveau con\u00e7ue sp\u00e9cifiquement pour la visualisation statistique \u00e9l\u00e9gante et synth\u00e9tique. La synergie entre ces deux outils permet de concilier la puissance algorithmique n\u00e9cessaire au calcul de noyaux continus et la flexibilit\u00e9 typographique requise pour satisfaire les crit\u00e8res stricts de l&rsquo;\u00e9dition scientifique et universitaire.<\/p>\n<p>Le pr\u00e9sent article propose une exploration approfondie et rigoureuse de la conception de graphiques de densit\u00e9 au sein de l&rsquo;environnement Python. \u00c0 travers l&rsquo;examen des fondements math\u00e9matiques de l&rsquo;estimateur de Parzen-Rosenblatt, l&rsquo;analyse comparative des param\u00e8tres de lissage, la manipulation fine des objets de l&rsquo;interface orient\u00e9e objet de Matplotlib et l&rsquo;\u00e9tude m\u00e9thodique de cas concrets issus des sciences quantitatives, ce guide offre une vue d&rsquo;ensemble compl\u00e8te destin\u00e9e aux chercheurs, aux sp\u00e9cialistes des sciences des donn\u00e9es et aux analystes d\u00e9sireux de produire des repr\u00e9sentations visuelles irr\u00e9prochables tant sur le plan statistique qu&rsquo;esth\u00e9tique.<\/p>\n<h2>1. Introduction aux graphiques de densit\u00e9 et \u00e0 l&rsquo;estimation par noyau (KDE)<\/h2>\n<h3>1.1 D\u00e9finition th\u00e9orique et utilit\u00e9 de la fonction de densit\u00e9<\/h3>\n<p>L&rsquo;objectif fondamental d&rsquo;un graphique de densit\u00e9 r\u00e9side dans l&rsquo;approximation visuelle et quantitative de la fonction de densit\u00e9 de probabilit\u00e9, souvent not\u00e9e f(x), d&rsquo;une variable al\u00e9atoire continue. Contrairement aux variables discr\u00e8tes dont les r\u00e9alisations peuvent \u00eatre d\u00e9nombr\u00e9es et associ\u00e9es directement \u00e0 des probabilit\u00e9s ponctuelles via une fonction de masse, une variable continue pr\u00e9sente une probabilit\u00e9 rigoureusement nulle d&rsquo;adopter une valeur exacte et isol\u00e9e. La probabilit\u00e9 que la variable s&rsquo;inscrive au sein d&rsquo;un intervalle sp\u00e9cifique correspond \u00e0 l&rsquo;int\u00e9grale de sa fonction de densit\u00e9 sur ce segment particulier. La repr\u00e9sentation graphique de cette fonction doit ainsi offrir une lecture directe des zones d&rsquo;accumulation, de dispersion et de raret\u00e9 des donn\u00e9es empiriques.<\/p>\n<p>L&rsquo;histogramme classique souffre de faiblesses m\u00e9thodologiques notables qui justifient le recours \u00e0 l&rsquo;estimation de densit\u00e9. La discontinuit\u00e9 intrins\u00e8que de l&rsquo;histogramme engendre des ruptures artificielles qui ne refl\u00e8tent en rien la continuit\u00e9 du ph\u00e9nom\u00e8ne sous-jacent. Plus critique encore est la d\u00e9pendance extr\u00eame de la forme g\u00e9n\u00e9rale de l&rsquo;histogramme vis-\u00e0-vis de deux choix purement subjectifs op\u00e9r\u00e9s par l&rsquo;analyste : la largeur des bacs (ou <em>binwidth<\/em>) et l&#8217;emplacement de l&rsquo;origine de la grille de partition. En modifiant l\u00e9g\u00e8rement la borne inf\u00e9rieure d&rsquo;un intervalle sans alt\u00e9rer les donn\u00e9es, un analyste peut m\u00e9tamorphoser l&rsquo;apparence d&rsquo;une distribution, faisant \u00e9merger ou dispara\u00eetre des modes secondaires qui ne poss\u00e8dent aucune r\u00e9alit\u00e9 probabiliste.<\/p>\n<p>L&rsquo;estimation non param\u00e9trique par noyau contourne ces \u00e9cueils en s&rsquo;affranchissant de toute discr\u00e9tisation rigide de l&rsquo;espace des valeurs. Au lieu de contraindre les observations \u00e0 s&rsquo;agr\u00e9ger au sein de compartiments contigus, l&rsquo;approche par noyau attribue \u00e0 chaque point empirique une fonction de pond\u00e9ration locale, lisse et continue. Cette caract\u00e9ristique conf\u00e8re aux graphiques de densit\u00e9 une sensibilit\u00e9 diagnostique exceptionnelle face \u00e0 des configurations distributionnelles complexes, telles que les asym\u00e9tries prononc\u00e9es vers la droite ou la gauche, les queues lourdes ou encore les ph\u00e9nom\u00e8nes de multimodalit\u00e9, o\u00f9 plusieurs sous-populations coexistent au sein d&rsquo;un \u00e9chantillon global.<\/p>\n<h3>1.2 La synergie entre Matplotlib et Seaborn pour le trac\u00e9 KDE<\/h3>\n<p>L&rsquo;architecture logicielle de visualisation en Python repose sur une stratification fonctionnelle hautement compl\u00e9mentaire. Matplotlib fournit la machinerie fondamentale d&rsquo;affichage, g\u00e9rant la topologie des objets graphiques via ses abstractions fondamentales que sont l&rsquo;objet Figure \u2014 qui repr\u00e9sente le conteneur global, la page ou le canvas \u2014 et l&rsquo;objet Axes \u2014 qui correspond au syst\u00e8me de coordonn\u00e9es cart\u00e9siennes o\u00f9 s&rsquo;inscrivent les \u00e9l\u00e9ments g\u00e9om\u00e9triques, les lignes, les marqueurs, les graduations et les \u00e9tiquettes textuelles. Ce mod\u00e8le orient\u00e9 objet garantit un niveau d&rsquo;interactivit\u00e9 et de personnalisation microscopique in\u00e9gal\u00e9 dans l&rsquo;\u00e9cosyst\u00e8me Python.<\/p>\n<p>N\u00e9anmoins, l&rsquo;impl\u00e9mentation manuelle et native d&rsquo;une estimation de densit\u00e9 de noyau au moyen exclusif de l&rsquo;interface bas niveau de Matplotlib exige le calcul explicite des matrices d&rsquo;\u00e9valuation statistique, la convolution num\u00e9rique des noyaux et l&rsquo;ajustement g\u00e9om\u00e9trique des polygones de rendu. C&rsquo;est pr\u00e9cis\u00e9ment \u00e0 cette jonction qu&rsquo;intervient la biblioth\u00e8que Seaborn. Con\u00e7ue comme une couche d&rsquo;abstraction statistique au-dessus de Matplotlib, Seaborn int\u00e8gre nativement des algorithmes de calcul statistique et s&rsquo;interface de mani\u00e8re transparente avec les structures de donn\u00e9es tabulaires telles que les s\u00e9ries et DataFrames issus de la biblioth\u00e8que Pandas.<\/p>\n<figure class=\"wpt-preserved-image\"><img fetchpriority=\"high\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/densitySeaborn1.png\" alt=\"density plot in seaborn\" \/><figcaption>density plot in seaborn<\/figcaption><\/figure>\n<p>L&#8217;emploi conjoint de la fonction de haut niveau <em>sns.kdeplot()<\/em> et des m\u00e9thodes de manipulation d&rsquo;Axes offertes par Matplotlib constitue le paradigme d&rsquo;excellence pour l&rsquo;analyse quantitative. Seaborn prend en charge l&rsquo;estimation math\u00e9matique non param\u00e9trique, l&rsquo;\u00e9valuation vectorielle des coordonn\u00e9es de la courbe et la gestion automatis\u00e9e des palettes de couleurs. En retour, l&rsquo;utilisateur conserve la facult\u00e9 d&rsquo;intercepter l&rsquo;objet Axes g\u00e9n\u00e9r\u00e9 pour modifier la typographie, ajuster les \u00e9chelles des axes, introduire des lignes de r\u00e9f\u00e9rence ou appliquer des contraintes de composition complexes adapt\u00e9es aux publications scientifiques.<\/p>\n<h3>1.3 Applications empiriques dans la recherche comportementale<\/h3>\n<p>Dans le domaine des sciences cognitives, de la psychologie exp\u00e9rimentale et des neurosciences comportementales, la distribution des variables mesur\u00e9es s&rsquo;\u00e9carte presque syst\u00e9matiquement du postulat th\u00e9orique de la normalit\u00e9 gaussienne. L&rsquo;un des exemples les plus repr\u00e9sentatifs concerne l&rsquo;enregistrement des temps de r\u00e9action lors de t\u00e2ches d&rsquo;attention soutenue ou de discrimination perceptive. Ces latences cognitives pr\u00e9sentent classiquement une asym\u00e9trie positive marqu\u00e9e, caract\u00e9ris\u00e9e par une mont\u00e9e abrupte vers un pic d&rsquo;efficience motrice suivie d&rsquo;une tra\u00een\u00e9e \u00e9tir\u00e9e traduisant des \u00e9pisodes sporadiques d&rsquo;inattention ou de d\u00e9faillance d\u00e9cisionnelle.<\/p>\n<p>L&rsquo;application d&rsquo;un graphique de densit\u00e9 s&rsquo;av\u00e8re bien plus r\u00e9v\u00e9latrice que la simple pr\u00e9sentation d&rsquo;une moyenne accompagn\u00e9e d&rsquo;un \u00e9cart-type, deux m\u00e9triques d&rsquo;une grande fragilit\u00e9 face \u00e0 l&rsquo;asym\u00e9trie et aux valeurs extr\u00eames. Gr\u00e2ce au KDE, le chercheur peut mod\u00e9liser visuellement la composante ex-gaussienne ou shifted-Wald propre aux temps de r\u00e9ponse, autorisant une comparaison fine des d\u00e9calages temporels entre diff\u00e9rentes conditions exp\u00e9rimentales ou groupes cliniques. La continuit\u00e9 de la courbe permet d&rsquo;identifier si un ralentissement g\u00e9n\u00e9ralis\u00e9 r\u00e9sulte d&rsquo;un glissement global de la distribution ou de l&rsquo;\u00e9paississement s\u00e9lectif de la queue sup\u00e9rieure des r\u00e9ponses tardives.<\/p>\n<p>De surcro\u00eet, lors de l&rsquo;\u00e9valuation d&rsquo;\u00e9chelles psychom\u00e9triques standardis\u00e9es administr\u00e9es \u00e0 des cohortes cliniques et des t\u00e9moins sains, les trac\u00e9s de densit\u00e9 permettent de d\u00e9tecter instantan\u00e9ment des profils de r\u00e9ponse bivalents. L&rsquo;\u00e9mergence d&rsquo;une bimodalit\u00e9 sur un score d&rsquo;inventaire de d\u00e9pression ou d&rsquo;anxi\u00e9t\u00e9 peut imm\u00e9diatement r\u00e9v\u00e9ler l&rsquo;existence d&rsquo;un sous-groupe ph\u00e9notypique distinct, imperceptible lors de l&rsquo;agr\u00e9gation lin\u00e9aire des donn\u00e9es. Le graphique de densit\u00e9 constitue de ce fait un instrument de diagnostic exploratoire indispensable pour orienter les mod\u00e9lisations inf\u00e9rentielles subs\u00e9quentes.<\/p>\n<h2>2. Fondements math\u00e9matiques et statistiques de l&rsquo;estimation de densit\u00e9<\/h2>\n<h3>2.1 Formulation math\u00e9matique de l&rsquo;estimateur de Parzen-Rosenblatt<\/h3>\n<p>L&rsquo;estimation par noyau repose sur les travaux fondateurs d&rsquo;Emanuel Parzen et de Murray Rosenblatt, qui ont \u00e9tabli la formulation d&rsquo;un estimateur non param\u00e9trique r\u00e9gulier \u00e0 partir d&rsquo;un \u00e9chantillon fini d&rsquo;observations ind\u00e9pendantes et identiquement distribu\u00e9es, not\u00e9 de x_1 \u00e0 x_n. L&rsquo;estimateur de densit\u00e9 f chapeau au point x se d\u00e9finit formellement comme la moyenne normalis\u00e9e des contributions locales de chaque observation individuelle, pond\u00e9r\u00e9es par une fonction noyau K et modul\u00e9es par un param\u00e8tre d&rsquo;\u00e9chelle h nomm\u00e9 largeur de bande ou bande passante.<\/p>\n<p>Math\u00e9matiquement, l&rsquo;expression s&rsquo;\u00e9nonce comme la somme, pour chaque indice i variant de 1 \u00e0 n, de K \u00e9valu\u00e9 au rapport de la diff\u00e9rence (x &#8211; x_i) sur h, le tout \u00e9tant divis\u00e9 par le produit du nombre d&rsquo;observations n et du param\u00e8tre h. Pour que cet estimateur conserve les propri\u00e9t\u00e9s math\u00e9matiques fondamentales d&rsquo;une fonction de densit\u00e9 de probabilit\u00e9, la fonction noyau K(u) doit imp\u00e9rativement respecter trois contraintes axiomatiques : elle doit \u00eatre strictement positive pour toute valeur r\u00e9elle de son argument u, elle doit pr\u00e9senter une parfaite sym\u00e9trie autour de z\u00e9ro de sorte que K(u) soit \u00e9gal \u00e0 K(-u), et son int\u00e9grale sur l&rsquo;ensemble de la droite des nombres r\u00e9els doit \u00eatre rigoureusement \u00e9gale \u00e0 un.<\/p>\n<p>Plusieurs familles de fonctions math\u00e9matiques r\u00e9pondent \u00e0 ces exigences. Le noyau gaussien standard, qui correspond \u00e0 la densit\u00e9 d&rsquo;une loi normale centr\u00e9e r\u00e9duite, constitue le choix le plus largement r\u00e9pandu en raison de ses propri\u00e9t\u00e9s d&rsquo;infinie d\u00e9rivabilit\u00e9, qui garantissent un trac\u00e9 parfaitement lisse. Le noyau d&rsquo;\u00c9panechnikov, d\u00e9fini de mani\u00e8re quadratique sur l&rsquo;intervalle compact ferm\u00e9 [-1, 1] et nul au-del\u00e0, poss\u00e8de la particularit\u00e9 d&rsquo;\u00eatre math\u00e9matiquement optimal en minimisant l&rsquo;erreur quadratique moyenne int\u00e9gr\u00e9e th\u00e9orique. D&rsquo;autres noyaux, tels que les noyaux triangulaire, rectangulaire, cosinus ou bi-carr\u00e9, peuvent \u00eatre mobilis\u00e9s, bien que les recherches th\u00e9oriques d\u00e9montrent que la forme fonctionnelle sp\u00e9cifique du noyau exerce une influence marginale sur l&rsquo;aspect de l&rsquo;estimation comparativement au choix capital de la largeur de bande.<\/p>\n<h3>2.2 Le r\u00f4le d\u00e9terminant du param\u00e8tre de lissage (bande passante)<\/h3>\n<p>Le param\u00e8tre h, d\u00e9sign\u00e9 indiff\u00e9remment sous les vocables de bande passante, fen\u00eatre de lissage ou <em>bandwidth<\/em>, constitue le facteur pr\u00e9pond\u00e9rant qui gouverne le compromis fondamental entre biais et variance inh\u00e9rent \u00e0 toute proc\u00e9dure d&rsquo;estimation non param\u00e9trique. La valeur de h r\u00e9git l&rsquo;\u00e9tendue du domaine spatial autour de chaque observation x_i sur lequel le noyau distribue sa masse de probabilit\u00e9. L&rsquo;impact de ce r\u00e9glage sur l&rsquo;allure finale du graphique est bien plus substantiel que la s\u00e9lection de la nature analytique du noyau.<\/p>\n<p>Lorsque la bande passante adopte une valeur excessivement \u00e9troite, l&rsquo;estimateur verse dans le sous-lissage. La variance de l&rsquo;estimation explose : la courbe s&rsquo;ajuste trop \u00e9troitement aux sp\u00e9cificit\u00e9s de l&rsquo;\u00e9chantillon observ\u00e9 et fait appara\u00eetre une succession d&rsquo;ondulations aigu\u00ebs, de pics parasites et d&rsquo;art\u00e9facts locaux centr\u00e9s sur chaque point individuel. L&rsquo;estimateur capture alors le bruit stochastique de l&rsquo;\u00e9chantillonnage plut\u00f4t que la tendance g\u00e9n\u00e9rale de la population parente. \u00c0 l&rsquo;inverse, une valeur de h d\u00e9mesur\u00e9ment large induit un ph\u00e9nom\u00e8ne de sur-lissage, dans lequel le biais d&rsquo;estimation devient pr\u00e9dominant. Les singularit\u00e9s distributionnelles, les courbures abruptes et la bimodalit\u00e9 sont irr\u00e9m\u00e9diablement \u00e9cras\u00e9es, conduisant \u00e0 une courbe uniformis\u00e9e, plate et fallacieusement simplifi\u00e9e qui masque la structure sous-jacente des donn\u00e9es.<\/p>\n<p>Afin de limiter la part d&rsquo;arbitraire dans la fixation de cette largeur de bande, des heuristiques d&rsquo;optimisation automatis\u00e9e ont \u00e9t\u00e9 d\u00e9velopp\u00e9es. La plus c\u00e9l\u00e8bre est la r\u00e8gle empirique de Silverman pour une distribution normale, qui calcule h comme \u00e9tant le produit de 0.9 par le minimum entre l&rsquo;\u00e9cart-type empirique et l&rsquo;\u00e9cart interquartile divis\u00e9 par 1.34, pond\u00e9r\u00e9 par n \u00e9lev\u00e9 \u00e0 la puissance -1\/5. Une formulation analogue mais l\u00e9g\u00e8rement plus conservative est la r\u00e8gle de David Scott, qui adopte un facteur multiplicatif d&rsquo;environ 1.06 sous le postulat d&rsquo;une densit\u00e9 sous-jacente gaussienne. Bien qu&rsquo;efficaces pour des densit\u00e9s unimodales sym\u00e9triques, ces r\u00e8gles standard tendent \u00e0 sur-lisser les distributions fortement h\u00e9t\u00e9rog\u00e8nes ou multimodales, exigeant alors un ajustement manuel \u00e9clair\u00e9 de la part du praticien.<\/p>\n<h3>2.3 Normalisation et interpr\u00e9tation de l&rsquo;axe des ordonn\u00e9es<\/h3>\n<p>Une confusion r\u00e9currente chez les utilisateurs non sp\u00e9cialistes de l&rsquo;analyse exploratoire r\u00e9side dans l&rsquo;interpr\u00e9tation num\u00e9rique des valeurs gradu\u00e9es le long de l&rsquo;axe vertical d&rsquo;un trac\u00e9 de densit\u00e9. Contrairement \u00e0 une croyance r\u00e9pandue, la valeur y correspondant \u00e0 un point x donn\u00e9 ne repr\u00e9sente en aucune mani\u00e8re la probabilit\u00e9 d&rsquo;occurrence du point x. Il s&rsquo;agit strictement d&rsquo;une valeur de densit\u00e9 de probabilit\u00e9, exprim\u00e9e dans l&rsquo;unit\u00e9 inverse de la variable mesur\u00e9e en abscisse.<\/p>\n<p>La propri\u00e9t\u00e9 math\u00e9matique intangible qui r\u00e9git tout trac\u00e9 de densit\u00e9 r\u00e9side dans le fait que la surface totale d\u00e9limit\u00e9e par la courbe et l&rsquo;axe des abscisses, sur l&rsquo;ensemble du domaine de d\u00e9finition de moins l&rsquo;infini \u00e0 plus l&rsquo;infini, est rigoureusement \u00e9gale \u00e0 l&rsquo;unit\u00e9. En cons\u00e9quence directe de cette contrainte de normalisation unitaire, si les observations d&rsquo;un \u00e9chantillon sont concentr\u00e9es sur une plage num\u00e9rique tr\u00e8s resserr\u00e9e \u2014 par exemple, une variable mesurant des concentrations biochimiques comprises entre 0.01 et 0.05 unit\u00e9 \u2014, la hauteur de la courbe de densit\u00e9 doit obligatoirement atteindre des valeurs num\u00e9riques tr\u00e8s largement sup\u00e9rieures \u00e0 1 afin que l&rsquo;aire sous la courbe puisse compenser l&rsquo;\u00e9troitesse de l&rsquo;intervalle horizontal.<\/p>\n<p>Ainsi, observer des ordonn\u00e9es grimpant \u00e0 10, 50 ou m\u00eame 500 sur un graphique de densit\u00e9 ne traduit aucunement une anomalie d&rsquo;\u00e9chelle ou une probabilit\u00e9 aberrante d\u00e9passant 100 %. Cela signifie simplement que la densit\u00e9 relative d&rsquo;observations par unit\u00e9 de mesure est particuli\u00e8rement \u00e9lev\u00e9e dans cette r\u00e9gion. Pour obtenir une v\u00e9ritable mesure de probabilit\u00e9, l&rsquo;utilisateur doit mentalement ou num\u00e9riquement int\u00e9grer cette densit\u00e9 sur un intervalle d&rsquo;int\u00e9r\u00eat sp\u00e9cifique le long de l&rsquo;abscisse. L&rsquo;ordonn\u00e9e ne doit donc \u00eatre interpr\u00e9t\u00e9e que comme un indicateur comparatif de vraisemblance relative entre diff\u00e9rentes r\u00e9gions de la distribution.<\/p>\n<h2>3. Configuration de l&rsquo;environnement de d\u00e9veloppement et pr\u00e9paration des donn\u00e9es<\/h2>\n<h3>3.1 Installation et importation des biblioth\u00e8ques n\u00e9cessaires<\/h3>\n<p>Pour mettre en place un pipeline d&rsquo;analyse de donn\u00e9es reproductible et performant au sein de l&rsquo;environnement Python, l&rsquo;installation d&rsquo;une suite logicielle coh\u00e9rente constitue un pr\u00e9requis incontournable. Les biblioth\u00e8ques fondamentales pour la r\u00e9alisation de graphiques de densit\u00e9 comprennent Matplotlib pour le canevas graphique, Seaborn pour les routines statistiques de haut niveau, <a rel=\"noopener noreferrer\" href=\"https:\/\/numpy.org\/\">NumPy<\/a> pour les op\u00e9rations d&rsquo;alg\u00e8bre lin\u00e9aire et le calcul vectoriel haute performance, ainsi que <a rel=\"noopener noreferrer\" href=\"https:\/\/scipy.org\/\">SciPy<\/a> pour l&rsquo;acc\u00e8s aux routines statistiques avanc\u00e9es et Pandas pour la manipulation fluide des structures tabulaires.<\/p>\n<p>La gestion de ces d\u00e9pendances s&rsquo;effectue g\u00e9n\u00e9ralement par l&rsquo;interm\u00e9diaire des gestionnaires de paquets standardis\u00e9s tels que le terminal conda ou le gestionnaire pip. Une fois les paquets correctement d\u00e9ploy\u00e9s au sein d&rsquo;un environnement virtuel d\u00e9di\u00e9, il convient de structurer les importations au d\u00e9but des scripts d&rsquo;analyse. L&rsquo;usage conventionnel prescrit d&rsquo;importer le module pyplot de Matplotlib sous l&rsquo;alias standardis\u00e9 plt, la biblioth\u00e8que Seaborn sous l&rsquo;alias sns, NumPy sous l&rsquo;acronyme np, et Pandas sous l&rsquo;alias pd. Ce formalisme partag\u00e9 au sein de la communaut\u00e9 scientifique garantit l&rsquo;imm\u00e9diate lisibilit\u00e9 du code source par les pairs.<\/p>\n<p>D\u00e8s l&rsquo;initialisation du script, il est fortement conseill\u00e9 de d\u00e9finir les configurations stylistiques globales. L&rsquo;instruction permettant d&rsquo;appliquer un style pr\u00e9d\u00e9fini, comme le style seaborn-whitegrid ou les feuilles de style acad\u00e9miques int\u00e9gr\u00e9es \u00e0 Matplotlib, harmonise les polices de caract\u00e8res, les contrastes d&rsquo;arri\u00e8re-plan et l&rsquo;aspect des axes. Parall\u00e8lement, l&rsquo;ajustement du param\u00e8tre de r\u00e9solution d&rsquo;affichage (dots per inch ou DPI) via les param\u00e8tres de configuration globaux (d\u00e9nomm\u00e9s rcParams) permet d&rsquo;assurer un rendu visuel net et d\u00e9pourvu de pixellisation sur les \u00e9crans modernes haute d\u00e9finition, tout en anticipant les r\u00e9quisitions graphiques des revues scientifiques pour lesquelles un minimum de 300 DPI est syst\u00e9matiquement exig\u00e9.<\/p>\n<h3>3.2 G\u00e9n\u00e9ration et structuration de donn\u00e9es d&rsquo;exemple<\/h3>\n<p>L&rsquo;exploration m\u00e9thodique des graphiques de densit\u00e9 gagne grandement \u00e0 \u00eatre illustr\u00e9e par des jeux de donn\u00e9es synth\u00e9tiques dont les param\u00e8tres stochastiques sous-jacents sont parfaitement contr\u00f4l\u00e9s par l&rsquo;analyste. L&rsquo;utilisation du sous-module de g\u00e9n\u00e9ration de nombres pseudo-al\u00e9atoires de NumPy permet de cr\u00e9er une diversit\u00e9 de distributions th\u00e9oriques repr\u00e9sentatives des d\u00e9fis fr\u00e9quemment rencontr\u00e9s dans la pratique exp\u00e9rimentale.<\/p>\n<p>Afin de garantir la stricte reproductibilit\u00e9 des simulations num\u00e9riques et des trac\u00e9s cons\u00e9cutifs, il est indispensable d&rsquo;instancier un g\u00e9n\u00e9rateur al\u00e9atoire en lui assignant une graine d\u00e9terministe (<em>seed<\/em>). Gr\u00e2ce aux m\u00e9thodes modernes de l&rsquo;objet RandomState ou du DefaultRNG de NumPy, on peut cr\u00e9er un premier vecteur suivant une loi normale caract\u00e9ris\u00e9e par une moyenne et un \u00e9cart-type d\u00e9finis, mod\u00e9lisant par exemple un trait psychom\u00e9trique standardis\u00e9 au sein d&rsquo;une population de r\u00e9f\u00e9rence. Pour simuler des ph\u00e9nom\u00e8nes asym\u00e9triques tels que des temps d&rsquo;acc\u00e8s ou des niveaux de revenus, l&rsquo;appel \u00e0 une distribution log-normale g\u00e9n\u00e8re des donn\u00e9es fortement \u00e9tir\u00e9es vers les valeurs positives.<\/p>\n<p>La cr\u00e9ation de distributions bimodales ou multimodales s&rsquo;op\u00e8re ais\u00e9ment par concat\u00e9nation num\u00e9rique de plusieurs \u00e9chantillons gaussiens disjoints pr\u00e9sentant des moyennes divergentes et des variances in\u00e9gales. L&rsquo;int\u00e9gration de ces vecteurs unidimensionnels au sein d&rsquo;une structure tabulaire de type pandas.DataFrame constitue l&rsquo;approche m\u00e9thodologique la plus robuste. En assignant des noms de colonnes explicites et en int\u00e9grant une variable cat\u00e9gorielle assignant chaque observation \u00e0 un groupe exp\u00e9rimental distinct, on structure les donn\u00e9es selon le formalisme dit \u00ab\u00a0format long\u00a0\u00bb (<em>tidy data<\/em>), qui optimise l&rsquo;interaction ult\u00e9rieure avec Seaborn.<\/p>\n<h3>3.3 Pr\u00e9traitement et nettoyage pr\u00e9alable des donn\u00e9es<\/h3>\n<p>Avant d&rsquo;ex\u00e9cuter la moindre routine d&rsquo;estimation de densit\u00e9, un examen attentif de l&rsquo;int\u00e9grit\u00e9 num\u00e9rique des vecteurs de donn\u00e9es est imp\u00e9ratif. Les fonctions d&rsquo;estimation par noyau \u00e9valuent des op\u00e9rations arithm\u00e9tiques de division et d&rsquo;exponentiation qui se r\u00e9v\u00e8lent hautement vuln\u00e9rables aux imperfections courantes des bases de donn\u00e9es r\u00e9elles, notamment la pr\u00e9sence de valeurs manquantes (not\u00e9es NaN pour <em>Not a Number<\/em>) ou de valeurs infinies r\u00e9sultant de divisions par z\u00e9ro accidentelles.<\/p>\n<p>Le traitement des valeurs manquantes doit \u00eatre conduit avec pr\u00e9caution. L&rsquo;application directe des algorithmes d&rsquo;estimation sur une s\u00e9rie contenant des valeurs manquantes peut provoquer l&rsquo;\u00e9chec imm\u00e9diat de la compilation ou engendrer le renvoi de courbes enti\u00e8rement vides. Une op\u00e9ration de filtrage explicite au moyen des m\u00e9thodes de suppression des valeurs manquantes de Pandas doit \u00eatre effectu\u00e9e en amont, tout en consignant rigoureusement le nombre d&rsquo;observations \u00e9cart\u00e9es pour pr\u00e9server la transparence scientifique de l&rsquo;analyse. Il importe \u00e9galement de v\u00e9rifier que la variable cibl\u00e9e s&rsquo;inscrit sur une \u00e9chelle v\u00e9ritablement continue et qu&rsquo;elle ne constitue pas un codage discret de modalit\u00e9s arbitraires.<\/p>\n<p>Un autre point critique de pr\u00e9traitement concerne le rep\u00e9rage des points aberrants extr\u00eames (<em>outliers<\/em>). En raison du principe de superposition de la masse du noyau autour de chaque observation, un point isol\u00e9 situ\u00e9 \u00e0 plusieurs dizaines d&rsquo;\u00e9carts-types de la masse centrale \u00e9tirera d\u00e9mesur\u00e9ment la base du domaine d&rsquo;\u00e9valuation de la fonction de densit\u00e9. Ce ph\u00e9nom\u00e8ne induit un aplatissement drastique de la r\u00e9gion centrale de la courbe et produit une queue quasi invisible qui comprime l&rsquo;axe horizontal, rendant le graphique illisible. Des techniques d&rsquo;inspection pr\u00e9liminaire, par l&rsquo;analyse des quantiles empiriques, permettent de circonscrire le domaine des donn\u00e9es aux limites pertinentes de validit\u00e9 empirique.<\/p>\n<h2>4. Cr\u00e9ation d&rsquo;un graphique de densit\u00e9 \u00e9l\u00e9mentaire avec kdeplot()<\/h2>\n<h3>4.1 Syntaxe de base et premier trac\u00e9<\/h3>\n<p>L&rsquo;impl\u00e9mentation d&rsquo;une courbe de densit\u00e9 dans l&rsquo;environnement Python moderne s&rsquo;effectue de la mani\u00e8re la plus directe et expressive gr\u00e2ce \u00e0 l&rsquo;utilisation de la fonction <em>sns.kdeplot()<\/em> issue de l&rsquo;\u00e9cosyst\u00e8me Seaborn. Dans sa configuration la plus \u00e9pur\u00e9e, cette fonction requiert simplement comme argument d&rsquo;entr\u00e9e un vecteur unidimensionnel de donn\u00e9es quantitatives, qui peut \u00eatre une liste native Python, un tableau NumPy \u00e0 une dimension, ou une s\u00e9rie issue d&rsquo;une colonne de DataFrame.<\/p>\n<p>D\u00e8s l&rsquo;ex\u00e9cution de cet appel initial, la fonction orchestre de fa\u00e7on sous-jacente une s\u00e9quence complexe d&rsquo;op\u00e9rations statistiques et graphiques. Elle commence par calculer automatiquement l&rsquo;\u00e9tendue du domaine spatial n\u00e9cessaire \u00e0 l&rsquo;\u00e9valuation, s\u00e9lectionne une bande passante optimale par l&rsquo;application de la r\u00e8gle empirique de Scott ou de Silverman, d\u00e9rive les coordonn\u00e9es y de la densit\u00e9 par rapport \u00e0 un ensemble dense de points x distribu\u00e9s le long d&rsquo;une grille uniforme, et transmet ces vecteurs de coordonn\u00e9es \u00e0 un objet Axes de Matplotlib pour en assurer le trac\u00e9 vectoriel sous la forme d&rsquo;une ligne continue.<\/p>\n<p>Pour inscrire cette d\u00e9marche dans les meilleures pratiques de d\u00e9veloppement orient\u00e9 objet avec Matplotlib, il est fortement recommand\u00e9 de d\u00e9clarer explicitement le conteneur Figure et l&rsquo;axe de projection au pr\u00e9alable \u00e0 l&rsquo;aide de la commande <em>plt.subplots()<\/em>. En transmettant ensuite cet axe \u00e0 l&rsquo;argument <em>ax<\/em> de la fonction <em>sns.kdeplot()<\/em>, l&rsquo;analyste garantit un routage spatial d\u00e9terministe de la courbe. La cl\u00f4ture de l&rsquo;instruction d&rsquo;affichage via <em>plt.show()<\/em> finalise la s\u00e9quence en effectuant le rendu du tampon graphique vers l&rsquo;\u00e9cran ou l&rsquo;interface interactive du bloc-notes scientifique.<\/p>\n<h3>4.2 Personnalisation des axes et des m\u00e9tadonn\u00e9es du graphique<\/h3>\n<p>Un graphique brut g\u00e9n\u00e9r\u00e9 avec les param\u00e8tres par d\u00e9faut s&rsquo;av\u00e8re insuffisant pour une communication scientifique rigoureuse. L&rsquo;int\u00e9gration de m\u00e9tadonn\u00e9es pr\u00e9cises et typographiquement soign\u00e9es constitue une exigence fondamentale afin de rendre la visualisation imm\u00e9diatement compr\u00e9hensible et auto-suffisante. Cette personnalisation s&rsquo;appuie directement sur les m\u00e9thodes expos\u00e9es par l&rsquo;objet Axes de Matplotlib ou par les fonctions utilitaires \u00e9quivalentes de l&rsquo;interface pyplot.<\/p>\n<p>L&rsquo;attribution d&rsquo;un titre formel s&rsquo;effectue via l&rsquo;instruction <em>plt.title()<\/em> ou, plus rigoureusement, via la m\u00e9thode <em>set_title()<\/em> de l&rsquo;instance d&rsquo;axe. Il convient de choisir une typographie lisible, en adaptant la taille de la police de caract\u00e8res (<em>fontsize<\/em>), le poids de graisse typographique (<em>fontweight<\/em>), et en m\u00e9nageant un espacement ad\u00e9quat avec le bord sup\u00e9rieur du canevas gr\u00e2ce au param\u00e8tre <em>pad<\/em>. Les axes doivent imp\u00e9rativement \u00eatre \u00e9tiquet\u00e9s avec la plus grande exactitude : l&rsquo;axe horizontal, par l&rsquo;entremise de <em>set_xlabel()<\/em>, doit d\u00e9signer le construit psychologique ou physique quantifi\u00e9 ainsi que son unit\u00e9 de mesure explicite (par exemple, \u00ab\u00a0Temps de r\u00e9action en millisecondes\u00a0\u00bb), tandis que l&rsquo;axe vertical, configur\u00e9 via <em>set_ylabel()<\/em>, doit pr\u00e9ciser la mention normalis\u00e9e \u00ab\u00a0Densit\u00e9 de probabilit\u00e9\u00a0\u00bb.<\/p>\n<p>L&rsquo;ajustement du cadre spatial d&rsquo;observation constitue une autre \u00e9tape majeure de personnalisation. Les fonctions <em>set_xlim()<\/em> et <em>set_ylim()<\/em> permettent de restreindre ou d&rsquo;\u00e9largir d\u00e9lib\u00e9r\u00e9ment les fronti\u00e8res du syst\u00e8me de coordonn\u00e9es. Cette op\u00e9ration s&rsquo;av\u00e8re particuli\u00e8rement judicieuse lorsque l&rsquo;algorithme d&rsquo;estimation de Seaborn prolonge m\u00e9caniquement la courbe au-del\u00e0 de limites th\u00e9oriquement impossibles pour la variable consid\u00e9r\u00e9e, comme des valeurs n\u00e9gatives pour une latence temporelle ou un score d&rsquo;\u00e9chelle born\u00e9 entre z\u00e9ro et cent. L&rsquo;ajustement manuel des limites d&rsquo;axes garantit que le regard du lecteur demeure concentr\u00e9 sur le domaine de validit\u00e9 empirique des donn\u00e9es.<\/p>\n<h3>4.3 Rendu autonome avec Matplotlib pur (m\u00e9thode alternative avec SciPy)<\/h3>\n<p>Bien que Seaborn rationalise grandement le processus d&rsquo;affichage, il s&rsquo;av\u00e8re conceptuellement et techniquement pr\u00e9cieux de ma\u00eetriser la r\u00e9alisation d&rsquo;un graphique de densit\u00e9 sans d\u00e9pendre de cette surcouche, en recourant exclusivement aux capacit\u00e9s combin\u00e9es de Matplotlib et de la biblioth\u00e8que SciPy. Cette approche d\u00e9sinterm\u00e9di\u00e9e offre une compr\u00e9hension totale des \u00e9tapes de calcul sous-jacentes et autorise une flexibilit\u00e9 d&rsquo;intervention math\u00e9matique totale au sein de pipelines de calcul scientifique complexes.<\/p>\n<p>La premi\u00e8re phase de cette impl\u00e9mentation alternative repose sur la classe <em>gaussian_kde<\/em> issue du sous-module <em>scipy.stats<\/em>. En instanciant cet objet avec le vecteur d&rsquo;observations num\u00e9riques brutes, SciPy g\u00e9n\u00e8re une fonction math\u00e9matique estim\u00e9e et appelable. L&rsquo;analyste doit ensuite concevoir lui-m\u00eame une grille d&rsquo;\u00e9valuation unidimensionnelle \u00e0 l&rsquo;aide de l&rsquo;instruction <em>numpy.linspace()<\/em>, qui produit un vecteur ordonn\u00e9 de points r\u00e9guliers \u2014 couramment entre 500 et 1000 points d&rsquo;\u00e9chantillonnage \u2014 s&rsquo;\u00e9tendant depuis le minimum empirique des donn\u00e9es jusqu&rsquo;\u00e0 leur valeur maximale, id\u00e9alement augment\u00e9e d&rsquo;une marge d&rsquo;amortissement aux extr\u00e9mit\u00e9s.<\/p>\n<p>L&rsquo;\u00e9valuation de l&rsquo;instance de <em>gaussian_kde<\/em> sur ce vecteur de points g\u00e9n\u00e8re le vecteur correspondant des valeurs de densit\u00e9. Il ne reste plus alors qu&rsquo;\u00e0 solliciter la m\u00e9thode fondamentale <em>plot()<\/em> de l&rsquo;objet Axes de Matplotlib en lui fournissant la grille comme coordonn\u00e9es d&rsquo;abscisses et le vecteur \u00e9valu\u00e9 comme ordonn\u00e9es. Cette technique permet d&rsquo;acc\u00e9der directement aux valeurs quantitatives de la densit\u00e9 pour effectuer des calculs compl\u00e9mentaires d&rsquo;aires partielles ou d&rsquo;intersection de courbes, tout en b\u00e9n\u00e9ficiant de la puret\u00e9 architecturale de Matplotlib sans surco\u00fbt d&rsquo;abstraction logicielle.<\/p>\n<h2>5. Ajustement pr\u00e9cis du niveau de lissage (Largeur de bande)<\/h2>\n<h3>5.1 Utilisation de l&rsquo;argument bw_method et bw_adjust<\/h3>\n<p>Le contr\u00f4le de la largeur de bande constitue l&rsquo;op\u00e9ration la plus d\u00e9terminante pour calibrer la fid\u00e9lit\u00e9 statistique de l&rsquo;estimation de densit\u00e9. Au sein de l&rsquo;API de Seaborn, ce r\u00e9glage est orchestr\u00e9 de mani\u00e8re particuli\u00e8rement \u00e9l\u00e9gante par l&rsquo;interm\u00e9diaire des arguments <em>bw_method<\/em> et <em>bw_adjust<\/em> au sein de la fonction <em>sns.kdeplot()<\/em>. Comprendre l&rsquo;interaction intime entre ces deux param\u00e8tres est essentiel pour ma\u00eetriser la morphologie de la courbe r\u00e9sultante.<\/p>\n<p>Le param\u00e8tre <em>bw_method<\/em> sp\u00e9cifie la m\u00e9thode algorithmique globale de d\u00e9termination de la bande passante de base. Par d\u00e9faut, Seaborn adopte la r\u00e8gle de Scott, mais l&rsquo;utilisateur peut lui pr\u00e9f\u00e9rer explicitement la m\u00e9thode de Silverman ou fournir une valeur scalaire fixe repr\u00e9sentant directement la largeur absolue de l&rsquo;\u00e9cart-type du noyau. N\u00e9anmoins, modifier manuellement cette valeur scalaire brute peut s&rsquo;av\u00e9rer fastidieux, car la magnitude absolue requise d\u00e9pend enti\u00e8rement de l&rsquo;\u00e9chelle m\u00e9trique et de la variance de la variable analys\u00e9e.<\/p>\n<p>C&rsquo;est pr\u00e9cis\u00e9ment pour rem\u00e9dier \u00e0 cette contrainte que l&rsquo;argument <em>bw_adjust<\/em> a \u00e9t\u00e9 introduit. Ce param\u00e8tre fonctionne comme un facteur multiplicatif sans unit\u00e9 appliqu\u00e9 \u00e0 la bande passante estim\u00e9e automatiquement par la r\u00e8gle algorithmique choisie. Une valeur de <em>bw_adjust<\/em> fix\u00e9e \u00e0 1.0 conserve rigoureusement le lissage par d\u00e9faut calcul\u00e9 par le mod\u00e8le. L&rsquo;assignation d&rsquo;une valeur inf\u00e9rieure \u00e0 l&rsquo;unit\u00e9, telle que 0.5 ou 0.25, contraint l&rsquo;estimateur \u00e0 diviser la largeur de la fen\u00eatre par deux ou par quatre, induisant un comportement local plus r\u00e9actif et moins liss\u00e9. \u00c0 l&rsquo;oppos\u00e9, une valeur sup\u00e9rieure \u00e0 1.0, telle que 1.5 ou 2.0, dilate la fen\u00eatre et accro\u00eet significativement le niveau d&rsquo;agr\u00e9gation spatiale de la densit\u00e9.<\/p>\n<h3>5.2 Exemple pratique de sur-lissage et sous-lissage<\/h3>\n<p>L&rsquo;observation concr\u00e8te des cons\u00e9quences visuelles d&rsquo;un calibrage erron\u00e9 de la bande passante met en lumi\u00e8re la d\u00e9licatesse du compromis biais-variance. Imaginons une distribution empirique g\u00e9n\u00e9r\u00e9e \u00e0 partir d&rsquo;un m\u00e9lange bimodal \u00e9quilibr\u00e9, pr\u00e9sentant deux modes distincts centr\u00e9s respectivement \u00e0 des valeurs de 20 et de 30 unit\u00e9s. Si l&rsquo;on applique \u00e0 ces donn\u00e9es un facteur <em>bw_adjust<\/em> excessivement faible, par exemple 0.15, l&rsquo;estimation produit une courbe heurt\u00e9e et dentel\u00e9e.<\/p>\n<figure class=\"wpt-preserved-image\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/densitySeaborn2.png\" alt=\"\" \/><\/figure>\n<p>Dans ce sc\u00e9nario de sous-lissage prononc\u00e9, la courbe r\u00e9agit de mani\u00e8re hyper-sensible \u00e0 la pr\u00e9sence sporadique de chaque observation individuelle de l&rsquo;\u00e9chantillon. Des pointes artificielles et des vall\u00e9es profondes se cr\u00e9ent l\u00e0 o\u00f9 il n&rsquo;existe en r\u00e9alit\u00e9 que du bruit d&rsquo;\u00e9chantillonnage al\u00e9atoire. Ce graphique d\u00e9fectueux donnera \u00e0 l&rsquo;observateur l&rsquo;illusion trompeuse que la variable poss\u00e8de une multitude de sous-populations discr\u00e8tes, complexifiant ind\u00fbment l&rsquo;interpr\u00e9tation scientifique du ph\u00e9nom\u00e8ne \u00e9tudi\u00e9.<\/p>\n<p>\u00c0 l&rsquo;autre extr\u00eame, si l&rsquo;on configure un param\u00e8tre <em>bw_adjust<\/em> de 2.5 ou 3.0 sur ce m\u00eame jeu de donn\u00e9es, le ph\u00e9nom\u00e8ne inverse se manifeste avec une s\u00e9v\u00e9rit\u00e9 \u00e9gale. La bande passante est devenue tellement large que les noyaux individuels de chaque point s&rsquo;\u00e9talent sur une plage qui exc\u00e8de l&rsquo;\u00e9cartement spatial entre les deux modes r\u00e9els de la population. Les deux pics de distribution fusionnent enti\u00e8rement pour ne laisser subsister qu&rsquo;une unique cloche sym\u00e9trique, aplatie et \u00e9tal\u00e9e. La bimodalit\u00e9 fondamentale du ph\u00e9nom\u00e8ne se trouve enti\u00e8rement occult\u00e9e par l&rsquo;algorithme. Il appara\u00eet donc recommand\u00e9 de tester syst\u00e9matiquement plusieurs valeurs de <em>bw_adjust<\/em> autour de la valeur unitaire standard pour v\u00e9rifier la stabilit\u00e9 topologique des modes d\u00e9tect\u00e9s.<\/p>\n<h3>5.3 S\u00e9lection d&rsquo;algorithmes d&rsquo;estimation de bande passante dans SciPy<\/h3>\n<p>Lorsqu&rsquo;on bascule vers l&rsquo;exploitation directe du module <em>scipy.stats.gaussian_kde<\/em>, le choix des algorithmes de s\u00e9lection automatique de la fen\u00eatre de lissage s&rsquo;effectue via l&rsquo;argument <em>bw_method<\/em> de la classe. SciPy impl\u00e9mente de mani\u00e8re interne les deux formulations analytiques les plus reconnues dans la litt\u00e9rature statistique contemporaine : la r\u00e8gle de Scott et la r\u00e8gle de Silverman.<\/p>\n<p>Bien que ces deux heuristiques reposent toutes deux sur l&rsquo;hypoth\u00e8se de r\u00e9f\u00e9rence d&rsquo;une distribution sous-jacente unimodale et proche de la loi normale, elles pr\u00e9sentent de subtiles divergences dans leur calcul d&rsquo;estimation. La m\u00e9thode de Scott calibre la bande passante de mani\u00e8re proportionnelle \u00e0 la taille de l&rsquo;\u00e9chantillon \u00e9lev\u00e9e \u00e0 la puissance -1\/(d+4), o\u00f9 d repr\u00e9sente la dimensionnalit\u00e9 des donn\u00e9es, multipli\u00e9e par l&rsquo;\u00e9cart-type empirique global. La m\u00e9thode de Silverman int\u00e8gre pour sa part un facteur d&rsquo;att\u00e9nuation suppl\u00e9mentaire qui utilise l&rsquo;\u00e9cart interquartile comme estimateur robuste de l&rsquo;\u00e9chelle lorsque ce dernier s&rsquo;av\u00e8re inf\u00e9rieur \u00e0 l&rsquo;\u00e9cart-type conventionnel.<\/p>\n<p>Cette distinction technique conf\u00e8re \u00e0 la r\u00e8gle de Silverman une r\u00e9silience l\u00e9g\u00e8rement sup\u00e9rieure face aux distributions asym\u00e9triques ou parasit\u00e9es par des observations distantes, minimisant le risque d&rsquo;inflation artificielle de la bande passante qui r\u00e9sulterait d&rsquo;une variance empirique gonfl\u00e9e par quelques valeurs extr\u00eames. Par ailleurs, la classe de SciPy permet au d\u00e9veloppeur de fournir en argument une fonction scalaire personnalis\u00e9e, offrant ainsi la latitude d&rsquo;impl\u00e9menter des algorithmes d&rsquo;optimisation plus sophistiqu\u00e9s, tels que la validation crois\u00e9e par moindres carr\u00e9s (<em>least squares cross-validation<\/em>) ou les estimateurs de type <em>plug-in<\/em> de Sheather-Jones.<\/p>\n<h2>6. Personnalisation stylistique avanc\u00e9e de la courbe de densit\u00e9<\/h2>\n<h3>6.1 Remplissage sous la courbe (Shading)<\/h3>\n<p>Au-del\u00e0 du simple trac\u00e9 lin\u00e9aire du contour de la densit\u00e9, le remplissage chromatique de la r\u00e9gion d\u00e9limit\u00e9e par la courbe et l&rsquo;axe horizontal repr\u00e9sente une am\u00e9lioration stylistique majeure. Ce proc\u00e9d\u00e9 visuel conf\u00e8re une assise g\u00e9om\u00e9trique forte au trac\u00e9 et facilite grandement la lecture perceptive des proportions d&rsquo;aires et de la concentration relative des observations par le cerveau humain.<\/p>\n<p>Au sein de la fonction <em>sns.kdeplot()<\/em>, l&rsquo;activation de ce remplissage est gouvern\u00e9e par le param\u00e8tre bool\u00e9en <em>fill<\/em> (qui a supplant\u00e9 l&rsquo;ancien param\u00e8tre <em>shade<\/em> dans les versions r\u00e9centes de Seaborn). En initialisant <em>fill=True<\/em>, la surface sous-jacente est automatiquement mat\u00e9rialis\u00e9e par un polygone de couleur coh\u00e9rent avec la teinte de la courbe principale. Toutefois, l&rsquo;utilisation d&rsquo;un remplissage opaque obscurcit l&rsquo;arri\u00e8re-plan, dissimule d&rsquo;\u00e9ventuelles lignes de quadrillage et interdit toute comparaison \u00e9l\u00e9gante en cas de superposition de plusieurs distributions sur le m\u00eame rep\u00e8re.<\/p>\n<p>La gestion de la transparence s&rsquo;av\u00e8re d\u00e8s lors primordiale. L&rsquo;argument <em>alpha<\/em>, qui accepte des valeurs scalaires comprises entre 0.0 (transparence totale et invisibilit\u00e9) et 1.0 (opacit\u00e9 compl\u00e8te), permet de doser d\u00e9licatement la visibilit\u00e9 de la masse color\u00e9e. Une valeur d&rsquo;<em>alpha<\/em> calibr\u00e9e autour de 0.25 \u00e0 0.40 garantit un remplissage suffisamment soutenu pour identifier clairement la silhouette globale de la fonction tout en maintenant une lisibilit\u00e9 totale du r\u00e9seau de coordonn\u00e9es sous-jacent et des autres \u00e9l\u00e9ments g\u00e9om\u00e9triques du graphique.<\/p>\n<h3>6.2 Ajustement des propri\u00e9t\u00e9s de ligne<\/h3>\n<p>La ligne de cr\u00eate d&rsquo;un graphique de densit\u00e9 constitue l&rsquo;\u00e9l\u00e9ment graphique de premier ordre guidant le regard de l&rsquo;observateur le long des gradients de densit\u00e9. Matplotlib et Seaborn exposent une palette d&rsquo;arguments hautement modulaires pour d\u00e9finir la signature visuelle de ce trait vectoriel, incluant la couleur, l&rsquo;\u00e9paisseur et le motif g\u00e9om\u00e9trique de segmentation.<\/p>\n<p>Le param\u00e8tre <em>color<\/em> accepte une tr\u00e8s grande vari\u00e9t\u00e9 de formats d&rsquo;entr\u00e9e : des d\u00e9nominations litt\u00e9rales simples (comme &lsquo;teal&rsquo;, &lsquo;coral&rsquo; ou &lsquo;navy&rsquo;), des codes hexad\u00e9cimaux stricts (par exemple &lsquo;#2b5c8f&rsquo;) couramment employ\u00e9s pour respecter des chartes graphiques institutionnelles pr\u00e9cises, ou encore des coordonn\u00e9es RGB\/RGBA normalis\u00e9es. Afin de garantir un impact visuel net, l&rsquo;argument <em>linewidth<\/em> (souvent abr\u00e9g\u00e9 en <em>lw<\/em>) doit \u00eatre ajust\u00e9 en fonction de la r\u00e9solution de sortie ; une \u00e9paisseur comprise entre 1.8 et 2.5 points assure g\u00e9n\u00e9ralement une distinction franche de la courbe par rapport au maillage plus t\u00e9nu de la grille de fond.<\/p>\n<p>La modulation du style de trait via l&rsquo;argument <em>linestyle<\/em> (ou <em>ls<\/em>) s&rsquo;av\u00e8re particuli\u00e8rement utile lors de la pr\u00e9paration de figures destin\u00e9es \u00e0 l&rsquo;impression monochrome ou pour faciliter la consultation par des lecteurs atteints de d\u00e9ficiences de la vision chromatique. En attribuant des styles distincts tels qu&rsquo;un trait continu (&lsquo;-&lsquo;), un trait tiret\u00e9 (&lsquo;&#8211;&lsquo;), un trait en pointill\u00e9s (&lsquo;:&rsquo;) ou une alternance tiret-point (&lsquo;-.&rsquo;), l&rsquo;analyste cr\u00e9e un canal de discrimination visuelle redondant et ind\u00e9pendant de la palette de couleurs, consolidant ainsi l&rsquo;accessibilit\u00e9 scientifique du document.<\/p>\n<h3>6.3 Troncature et limites d&rsquo;\u00e9valuation<\/h3>\n<p>L&rsquo;un des comportements intrins\u00e8ques de l&rsquo;estimation par noyau gaussien est son extension asymptotique th\u00e9orique jusqu&rsquo;\u00e0 l&rsquo;infini positif et n\u00e9gatif. L&rsquo;algorithme continue d&rsquo;attribuer une densit\u00e9 r\u00e9siduelle infinit\u00e9simale m\u00eame \u00e0 des distances consid\u00e9rables du dernier point observ\u00e9 dans l&rsquo;\u00e9chantillon r\u00e9el. Cette dispersion peut induire des repr\u00e9sentations trompeuses, notamment en prolongeant visuellement la queue d&rsquo;une distribution au-del\u00e0 des bornes physiques inh\u00e9rentes au protocole de mesure.<\/p>\n<p>Pour r\u00e9guler ce ph\u00e9nom\u00e8ne, Seaborn met \u00e0 disposition l&rsquo;argument <em>cut<\/em>. Ce param\u00e8tre indique \u00e0 la fonction d&rsquo;estimation la distance d&rsquo;extension maximale autoris\u00e9e pour le calcul de la densit\u00e9 au-del\u00e0 des valeurs extr\u00eames observ\u00e9es, exprim\u00e9e sous la forme d&rsquo;un multiple de la bande passante. Par d\u00e9faut, la fonction applique g\u00e9n\u00e9ralement une valeur de <em>cut=3<\/em>, prolongeant le trac\u00e9 d&rsquo;une longueur \u00e9quivalente \u00e0 trois bandes passantes apr\u00e8s le minimum et le maximum empiriques afin de permettre un retour progressif et lisse de la courbe vers l&rsquo;axe des abscisses.<\/p>\n<p>Cependant, si l&rsquo;on assigne la valeur <em>cut=0<\/em>, l&rsquo;\u00e9valuation de la densit\u00e9 est rigoureusement et brutalement interrompue aux fronti\u00e8res exactes de l&rsquo;\u00e9chantillon observ\u00e9, \u00e0 savoir le minimum et le maximum des donn\u00e9es r\u00e9elles. Cette troncature \u00e9limine tout \u00e9talement artificiel sur des segments o\u00f9 aucune observation n&rsquo;a \u00e9t\u00e9 enregistr\u00e9e. Bien que cette approche puisse parfois g\u00e9n\u00e9rer des terminaisons verticales abruptes aux extr\u00e9mit\u00e9s de la courbe, elle constitue une pr\u00e9caution indispensable lorsque la variable mod\u00e9lis\u00e9e est strictement positive (comme des temps de r\u00e9action ou des concentrations) et que l&rsquo;analyste souhaite proscrire toute insinuation visuelle d&rsquo;existence de valeurs n\u00e9gatives impossibles.<\/p>\n<h2>7. Superposition combin\u00e9e : Histogrammes et courbes de densit\u00e9<\/h2>\n<h3>7.1 Trac\u00e9 simultan\u00e9 avec la fonction histplot()<\/h3>\n<p>L&rsquo;association visuelle d&rsquo;un histogramme discr\u00e9tis\u00e9 et d&rsquo;une courbe de densit\u00e9 continue repr\u00e9sente un standard d&rsquo;excellence pour l&rsquo;analyse exploratoire de distributions quantitatives. Cette combinaison offre une double perspective analytique : l&rsquo;histogramme t\u00e9moigne fid\u00e8lement de la granularit\u00e9 brute et du d\u00e9compte des effectifs de l&rsquo;\u00e9chantillon au sein de bacs d\u00e9finis, tandis que la courbe KDE r\u00e9v\u00e8le le profil liss\u00e9 continu th\u00e9orique de la population sous-jacente.<\/p>\n<p>Au sein de Seaborn, cette op\u00e9ration hautement informative est directement r\u00e9alisable par l&rsquo;entremise de la fonction unifi\u00e9e <em>sns.histplot()<\/em> en activant le param\u00e8tre bool\u00e9en <em>kde=True<\/em>. Lorsque cette option est invoqu\u00e9e, la fonction ex\u00e9cute simultan\u00e9ment les calculs de partitionnement des bacs et l&rsquo;estimation de la densit\u00e9 par noyau. La rigueur statistique exige alors que les deux repr\u00e9sentations partagent un syst\u00e8me m\u00e9trique homog\u00e8ne sur l&rsquo;axe vertical.<\/p>\n<figure class=\"wpt-preserved-image\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/densitySeaborn3.png\" alt=\"\" \/><\/figure>\n<p>Pour assurer cette coh\u00e9rence math\u00e9matique indispensable, Seaborn configure automatiquement le param\u00e8tre de normalisation <em>stat=\u00a0\u00bbdensity\u00a0\u00bb<\/em>. Sous cette configuration, la hauteur des barres rectangulaires de l&rsquo;histogramme n&rsquo;indique plus le nombre brut d&rsquo;occurrences ou le pourcentage de l&rsquo;\u00e9chantillon, mais bien la densit\u00e9 relative calcul\u00e9e telle que la somme des aires de chaque rectangle soit strictement \u00e9gale \u00e0 1. La courbe de densit\u00e9 vient ainsi se superposer harmonieusement au sommet des colonnes sans aucune distorsion d&rsquo;\u00e9chelle, cr\u00e9ant une symbiose visuelle imm\u00e9diate entre fr\u00e9quence discr\u00e8te et densit\u00e9 continue.<\/p>\n<h3>7.2 Combinaison manuelle sur un objet Axes Matplotlib<\/h3>\n<p>Bien que la commande <em>sns.histplot()<\/em> offre une solution int\u00e9gr\u00e9e et rapide, certaines exigences \u00e9ditoriales requi\u00e8rent une dissociation technique totale entre le moteur de calcul de l&rsquo;histogramme et celui de la densit\u00e9, afin d&rsquo;appliquer des param\u00e8tres esth\u00e9tiques ind\u00e9pendants, d&rsquo;utiliser des algorithmes de bandes passantes non standardis\u00e9s ou de superposer un histogramme pur de Matplotlib avec une densit\u00e9 Seaborn.<\/p>\n<p>Pour concr\u00e9tiser cette dissociation sur un objet Axes unique, on commence par g\u00e9n\u00e9rer l&rsquo;histogramme de base en invoquant la m\u00e9thode <em>ax.hist()<\/em> native de Matplotlib. Il est imp\u00e9ratif de stipuler formellement l&rsquo;argument <em>density=True<\/em> lors de cet appel ; \u00e0 d\u00e9faut, Matplotlib afficherait les effectifs absolus de fr\u00e9quence, ce qui rendrait impossible toute superposition visuelle coh\u00e9rente avec une courbe de densit\u00e9 dont l&rsquo;int\u00e9grale est unitaire. L&rsquo;analyste peut alors configurer librement le nombre de bacs (<em>bins<\/em>), la couleur de contour des barres (<em>edgecolor<\/em>) et une transparence ad\u00e9quate.<\/p>\n<p>Dans un second temps, la fonction <em>sns.kdeplot()<\/em> est appel\u00e9e sur le m\u00eame objet en passant formellement l&rsquo;argument <em>ax=ax<\/em>. L&rsquo;algorithme de Seaborn vient greffer la trajectoire de la courbe continue sur l&rsquo;espace cart\u00e9sien d\u00e9j\u00e0 occup\u00e9 par les rectangles de l&rsquo;histogramme. Cette m\u00e9thodologie garantit une ma\u00eetrise absolue sur l&rsquo;ordre de superposition des couches g\u00e9om\u00e9triques (g\u00e9r\u00e9 par l&rsquo;argument <em>zorder<\/em>) et permet de configurer des \u00e9l\u00e9ments graphiques hautement contrast\u00e9s, en associant par exemple des barres d&rsquo;histogramme gris perle discr\u00e8tes en arri\u00e8re-plan \u00e0 une ligne de densit\u00e9 d&rsquo;un bleu profond au premier plan.<\/p>\n<h3>7.3 Ajout d&rsquo;un graphique de dispersion marginal (Rug Plot)<\/h3>\n<p>En d\u00e9pit de son \u00e9l\u00e9gance math\u00e9matique, la courbe de densit\u00e9 demeure une abstraction statistique liss\u00e9e qui peut parfois masquer la raret\u00e9 locale des donn\u00e9es dans certaines sections du domaine d&rsquo;observation. L&rsquo;adjonction d&rsquo;un graphique de dispersion marginale, universellement d\u00e9sign\u00e9 en s\u00e9miologie graphique sous le terme de <em>rug plot<\/em> (ou graphique en tapis d&rsquo;\u00e9chantillonnage), apporte un rem\u00e8de visuel id\u00e9al \u00e0 cette probl\u00e9matique.<\/p>\n<p>Un <em>rug plot<\/em> mat\u00e9rialise chaque observation unitaire de l&rsquo;\u00e9chantillon sous la forme d&rsquo;un petit segment vertical rectiligne positionn\u00e9 le long de l&rsquo;axe des abscisses. La fonction <em>sns.rugplot()<\/em> de Seaborn prend en charge cette int\u00e9gration de fa\u00e7on transparente. Lorsque l&rsquo;analyste superpose ce tapis d&rsquo;\u00e9chantillons au graphique de densit\u00e9 principal, la densit\u00e9 spatiale des segments refl\u00e8te instantan\u00e9ment la concentration empirique des donn\u00e9es brutes.<\/p>\n<p>Cette association s&rsquo;av\u00e8re particuli\u00e8rement pr\u00e9cieuse dans l&rsquo;examen des queues de distribution ou des vall\u00e9es situ\u00e9es entre deux modes. Si la courbe de densit\u00e9 pr\u00e9sente une \u00e9l\u00e9vation mod\u00e9r\u00e9e dans une r\u00e9gion donn\u00e9e, le <em>rug plot<\/em> permet de discriminer en un coup d&rsquo;\u0153il si cette \u00e9l\u00e9vation repose sur une accumulation v\u00e9ritable de quelques observations concordantes ou si elle n&rsquo;est que la r\u00e9sultante d&rsquo;un d\u00e9bordement artificiel de la bande passante caus\u00e9 par un point isol\u00e9 aberrant situ\u00e9 \u00e0 proximit\u00e9. L&rsquo;ajustement de la hauteur des segments (via le param\u00e8tre <em>height<\/em>) et de leur transparence permet de conf\u00e9rer au rug plot une pr\u00e9sence discr\u00e8te mais hautement informative.<\/p>\n<h2>8. Comparaison de distributions multiples et cat\u00e9gorielles<\/h2>\n<h3>8.1 Superposition de plusieurs groupes sur un axe unique<\/h3>\n<p>L&rsquo;un des d\u00e9fis les plus fr\u00e9quents en statistique inf\u00e9rentielle et descriptive consiste \u00e0 comparer les profils de distribution d&rsquo;une variable continue mesur\u00e9e \u00e0 travers diff\u00e9rentes sous-populations ou conditions exp\u00e9rimentales (par exemple, un groupe t\u00e9moin confront\u00e9 \u00e0 plusieurs groupes de traitement clinique). L&rsquo;affichage simultan\u00e9 de ces distributions sur un rep\u00e8re cart\u00e9sien partag\u00e9 offre une capacit\u00e9 de comparaison imm\u00e9diate et intuitive.<\/p>\n<p>La biblioth\u00e8que Seaborn simplifie consid\u00e9rablement cette t\u00e2che gr\u00e2ce \u00e0 son param\u00e8tre d&rsquo;assignation s\u00e9mantique <em>hue<\/em>. En fournissant \u00e0 la fonction <em>sns.kdeplot()<\/em> un jeu de donn\u00e9es sous forme de DataFrame structur\u00e9 en format long, il suffit d&rsquo;assigner le nom de la variable continue \u00e0 l&rsquo;axe des abscisses (argument <em>x<\/em>) et le nom de la colonne cat\u00e9gorielle au param\u00e8tre <em>hue<\/em>. L&rsquo;algorithme ventile automatiquement les observations selon les modalit\u00e9s du facteur, calcule ind\u00e9pendamment l&rsquo;estimation par noyau pour chaque strate de donn\u00e9es et attribue des teintes chromatiques diff\u00e9renci\u00e9es issues d&rsquo;une palette s\u00e9lectionn\u00e9e.<\/p>\n<p>Cette approche produit instantan\u00e9ment une l\u00e9gende explicative parfaitement configur\u00e9e sur l&rsquo;axe. Afin de pr\u00e9server la lisibilit\u00e9 de la figure lors de la superposition de trois groupes ou davantage, il est essentiel de veiller \u00e0 ce que l&rsquo;argument <em>fill<\/em> soit associ\u00e9 \u00e0 une valeur d&rsquo;<em>alpha<\/em> relativement faible (par exemple 0.15 \u00e0 0.20), \u00e9vitant ainsi que les aires color\u00e9es ne se saturent mutuellement et ne masquent les croisements des trajectoires de densit\u00e9.<\/p>\n<h3>8.2 Variantes d&rsquo;affichage : empilement et normalisation<\/h3>\n<p>Lorsque la superposition directe de courbes transparentes g\u00e9n\u00e8re une surcharge cognitive excessive en pr\u00e9sence de groupes hautement intriqu\u00e9s, la fonction <em>sns.kdeplot()<\/em> offre des modes d&rsquo;organisation structurelle alternatifs pilot\u00e9s par le param\u00e8tre <em>multiple<\/em>. Ce dernier accepte plusieurs arguments textuels qui red\u00e9finissent la g\u00e9om\u00e9trie de distribution de la masse de probabilit\u00e9 sur le canevas.<\/p>\n<p>La premi\u00e8re variante majeure est l&#8217;empilement, stipul\u00e9 par l&rsquo;instruction <em>multiple=\u00a0\u00bbstack\u00a0\u00bb<\/em>. Dans cette configuration g\u00e9om\u00e9trique, les densit\u00e9s des diff\u00e9rents groupes ne se croisent plus ; elles s&#8217;empilent verticalement les unes au-dessus des autres. La courbe sommitale globale trace ainsi la fonction de densit\u00e9 de l&rsquo;ensemble de la population agr\u00e9g\u00e9e, tandis que les bandes sous-jacentes r\u00e9v\u00e8lent la d\u00e9composition cat\u00e9gorielle locale de cette masse. Cette approche s&rsquo;av\u00e8re particuli\u00e8rement pertinente lorsqu&rsquo;on souhaite rendre compte de la taille relative de chaque cohorte tout en maintenant une vision d&rsquo;ensemble du contingent global.<\/p>\n<p>La seconde variante analytique de premier plan est la normalisation conditionnelle int\u00e9grale, obtenue au moyen de <em>multiple=\u00a0\u00bbfill\u00a0\u00bb<\/em>. Ce mode transforme le rep\u00e8re cart\u00e9sien en une \u00e9chelle de proportions relatives cumul\u00e9es comprise strictement entre 0 et 1 sur l&rsquo;axe vertical. \u00c0 chaque point de l&rsquo;abscisse, la hauteur relative occup\u00e9e par chaque modalit\u00e9 indique la probabilit\u00e9 conditionnelle a posteriori qu&rsquo;une observation \u00e9mane de ce groupe particulier si elle prend cette valeur sp\u00e9cifique. Cette repr\u00e9sentation se r\u00e9v\u00e8le extr\u00eamement puissante pour localiser les seuils critiques de discrimination \u00e0 partir desquels une modalit\u00e9 devient pr\u00e9pond\u00e9rante sur une autre le long du continuum de la variable.<\/p>\n<h3>8.3 Affichage en facettes via FacetGrid<\/h3>\n<p>Lorsque le nombre de cat\u00e9gories exp\u00e9rimentales devient trop \u00e9lev\u00e9 ou lorsque l&rsquo;analyse croise deux facteurs cat\u00e9goriels distincts (par exemple, le groupe de traitement et le sexe biologique), la superposition sur un axe unique conduit in\u00e9vitablement \u00e0 un enchev\u00eatrement visuel illisible. La m\u00e9thode des petits multiples, formalis\u00e9e par Edward Tufte et impl\u00e9ment\u00e9e dans Seaborn via la classe <em>FacetGrid<\/em>, propose la solution la plus \u00e9l\u00e9gante et rigoureuse \u00e0 ce probl\u00e8me.<\/p>\n<p>Le principe fondamental de la mise en facettes consiste \u00e0 d\u00e9composer la figure en une matrice de sous-graphiques r\u00e9guliers, o\u00f9 chaque panneau individuel accueille la distribution d&rsquo;une sous-population sp\u00e9cifique. La structure s&rsquo;initialise en instanciant un objet <em>sns.FacetGrid<\/em> auquel on transmet le DataFrame global ainsi que les variables charg\u00e9es de subdiviser les lignes (<em>row<\/em>) et les colonnes (<em>col<\/em>) du syst\u00e8me matriciel. L&rsquo;analyste applique ensuite la fonction de densit\u00e9 \u00e0 l&rsquo;aide de la m\u00e9thode <em>map()<\/em> ou <em>map_dataframe()<\/em> en lui transmettant <em>sns.kdeplot<\/em>.<\/p>\n<p>L&rsquo;avantage scientifique d\u00e9terminant de l&rsquo;utilisation de <em>FacetGrid<\/em> r\u00e9side dans la synchronisation automatique et stricte des \u00e9chelles horizontales et verticales sur l&rsquo;int\u00e9gralit\u00e9 des sous-panneaux (via les param\u00e8tres par d\u00e9faut <em>sharex=True<\/em> et <em>sharey=True<\/em>). Cette invariance m\u00e9trique garantit que les formes des distributions, leurs hauteurs de cr\u00eate et leurs \u00e9talements peuvent \u00eatre compar\u00e9s visuellement d&rsquo;un panneau \u00e0 l&rsquo;autre sans introduire le moindre biais d&rsquo;interpr\u00e9tation li\u00e9 \u00e0 des d\u00e9calages d&rsquo;\u00e9chelle masqu\u00e9s.<\/p>\n<h2>9. Graphiques de densit\u00e9 bidimensionnels (2D KDE Plots)<\/h2>\n<h3>9.1 Concept et trac\u00e9 d&rsquo;une densit\u00e9 conjointe bivari\u00e9e<\/h3>\n<p>La th\u00e9orie de l&rsquo;estimation de densit\u00e9 par noyau s&rsquo;\u00e9tend avec une remarquable \u00e9l\u00e9gance au-del\u00e0 du cas univari\u00e9 pour appr\u00e9hender l&rsquo;analyse conjointe de deux variables al\u00e9atoires continues observ\u00e9es simultan\u00e9ment. Un graphique de densit\u00e9 bidimensionnel (2D KDE) mod\u00e9lise la fonction de densit\u00e9 conjointe f(x, y), permettant d&rsquo;explorer la structure de d\u00e9pendance stochastique, la corr\u00e9lation non lin\u00e9aire et la concentration bivari\u00e9e au sein d&rsquo;un plan cart\u00e9sien sans imposer de mod\u00e8le lin\u00e9aire rigide.<\/p>\n<p>Math\u00e9matiquement, l&rsquo;estimateur de Parzen-Rosenblatt bivari\u00e9 d\u00e9ploie un noyau surfacique \u00e0 deux dimensions \u2014 le plus souvent une fonction gaussienne bivari\u00e9e \u2014 centr\u00e9 sur chaque couple d&rsquo;observations (x_i, y_i). La surface r\u00e9sultante s&rsquo;\u00e9l\u00e8ve au-dessus du plan x-y pour former un relief topographique probabiliste. L&rsquo;expression graphique la plus classique de ce volume s&rsquo;op\u00e8re par le trac\u00e9 de courbes de niveau (lignes isodenses ou contours), reliant l&rsquo;ensemble des coordonn\u00e9es du plan pr\u00e9sentant une m\u00eame valeur de densit\u00e9 conjointe estim\u00e9e.<\/p>\n<figure class=\"wpt-preserved-image\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/french.arabpsychology.com\/wp-content\/uploads\/2026\/09\/densitySeaborn4.png\" alt=\"\" \/><\/figure>\n<p>Au sein de Seaborn, le trac\u00e9 d&rsquo;une telle densit\u00e9 bivari\u00e9e s&rsquo;obtient de mani\u00e8re remarquablement concise en fournissant deux s\u00e9ries continues respectivement aux arguments <em>x<\/em> et <em>y<\/em> de la commande <em>sns.kdeplot()<\/em>. Le trac\u00e9 qui en d\u00e9coule fait instantan\u00e9ment ressortir les bassins d&rsquo;attraction des donn\u00e9es, r\u00e9v\u00e9lant des structures d&rsquo;association complexes que des coefficients de corr\u00e9lation param\u00e9triques de Pearson seraient fondamentalement incapables de d\u00e9tecter, tels que des groupements en fer \u00e0 cheval, des r\u00e9gimes de variance h\u00e9t\u00e9rosc\u00e9dastiques ou des bifurcations non lin\u00e9aires.<\/p>\n<h3>9.2 Personnalisation des contours et du remplissage 2D<\/h3>\n<p>Le contr\u00f4le esth\u00e9tique et informatif d&rsquo;un graphique de densit\u00e9 bivari\u00e9 repose sur un calibrage minutieux du remplissage de surface et de la discr\u00e9tisation des lignes de niveau. Par d\u00e9faut, la fonction peut se limiter au trac\u00e9 de courbes filaires qui, si elles sont pr\u00e9cises, manquent parfois de force \u00e9vocatrice pour un public scientifique non math\u00e9maticien.<\/p>\n<p>En assignant l&rsquo;argument <em>fill=True<\/em>, Seaborn g\u00e9n\u00e8re une interpolation chromatique continue sous la forme d&rsquo;un gradient de surface recouvrant l&rsquo;espace bivari\u00e9. Le choix de la palette de couleurs (via l&rsquo;argument <em>cmap<\/em>) est ici capital : l&rsquo;utilisation d&rsquo;une \u00e9chelle s\u00e9quentielle scientifiquement calibr\u00e9e et perceptiblement uniforme (telle que &lsquo;viridis&rsquo;, &lsquo;mako&rsquo; ou &lsquo;plasma&rsquo;) est imp\u00e9rative pour \u00e9viter les artefacts visuels et les sauts de contraste trompeurs inh\u00e9rents aux anciennes palettes arc-en-ciel comme &lsquo;jet&rsquo;.<\/p>\n<p>Deux param\u00e8tres additionnels exercent un impact d\u00e9terminant sur la morphologie du trac\u00e9 : <em>levels<\/em> et <em>thresh<\/em>. Le param\u00e8tre <em>levels<\/em> contr\u00f4le le nombre de contours isodenses calcul\u00e9s et dessin\u00e9s \u00e0 travers la surface. Une valeur \u00e9lev\u00e9e de <em>levels<\/em> (par exemple 15 ou 20) affine la granularit\u00e9 topographique mais peut alourdir le rendu, tandis qu&rsquo;une valeur plus restreinte (entre 6 et 10) produit une synth\u00e8se plus lisible. Le param\u00e8tre <em>thresh<\/em> (pour <em>threshold<\/em> ou seuil) fixe le seuil minimal de densit\u00e9 relative \u00e0 partir duquel le trac\u00e9 de contour est initialis\u00e9. En augmentant mod\u00e9r\u00e9ment <em>thresh<\/em> (par exemple \u00e0 0.05), on \u00e9limine les contours p\u00e9riph\u00e9riques extr\u00eamement dilu\u00e9s qui s&rsquo;\u00e9talent st\u00e9rilement dans les zones quasi vides de donn\u00e9es, \u00e9purant ainsi les marges ext\u00e9rieures du graphique.<\/p>\n<h3>9.3 Int\u00e9gration dans des structures graphiques conjointes (JointGrid)<\/h3>\n<p>Bien que le trac\u00e9 bivari\u00e9 2D isole avec brio les dynamiques conjointes des variables x et y, il occulte en partie les propri\u00e9t\u00e9s distributionnelles univari\u00e9es individuelles de chaque dimension projet\u00e9e. La figure composite id\u00e9ale doit donc conjuguer la repr\u00e9sentation centrale de la densit\u00e9 conjointe et les projections univari\u00e9es marginales de chaque variable le long des axes p\u00e9riph\u00e9riques respectifs.<\/p>\n<p>La biblioth\u00e8que Seaborn offre une impl\u00e9mentation native de cette architecture au moyen de la fonction int\u00e9gr\u00e9e <em>sns.jointplot()<\/em> et de la classe sous-jacente hautement param\u00e9trable <em>JointGrid<\/em>. En renseignant l&rsquo;instruction <em>sns.jointplot(x=x, y=y, data=df, kind=\u00a0\u00bbkde\u00a0\u00bb)<\/em>, le moteur graphique construit automatiquement une grille asym\u00e9trique sophistiqu\u00e9e. Le compartiment central principal accueille la cartographie topographique bivari\u00e9e 2D avec ses lignes de contour et ses gradients de densit\u00e9.<\/p>\n<p>Simultan\u00e9ment, le long de la bordure sup\u00e9rieure et de la bordure lat\u00e9rale droite, la fonction g\u00e9n\u00e8re des trac\u00e9s de densit\u00e9 univari\u00e9s 1D align\u00e9s math\u00e9matiquement sur les abscisses de x et les ordonn\u00e9es de y. L&rsquo;observateur dispose alors d&rsquo;une vue stochastique holistique : il peut analyser la d\u00e9pendance conjointe centrale tout en v\u00e9rifiant instantan\u00e9ment l&rsquo;asym\u00e9trie, la dispersion et les \u00e9ventuels modes secondaires propres \u00e0 chaque variable isol\u00e9e, le tout condens\u00e9 au sein d&rsquo;une figure unique d&rsquo;une remarquable \u00e9l\u00e9gance conceptuelle.<\/p>\n<h2>10. Architecture avanc\u00e9e de figures avec Matplotlib<\/h2>\n<h3>10.1 Gestion fine des objets Figure et Axes<\/h3>\n<p>La production de visualisations quantitatives de calibre professionnel requiert une ma\u00eetrise approfondie du paradigme orient\u00e9 objet de Matplotlib, en s&rsquo;affranchissant totalement de l&rsquo;interface proc\u00e9durale bas\u00e9e sur l&rsquo;\u00e9tat implicite (pyplot). Ce contr\u00f4le s&rsquo;articule autour de la cr\u00e9ation m\u00e9thodique de conteneurs <em>Figure<\/em> et de syst\u00e8mes de coordonn\u00e9es <em>Axes<\/em> au travers de la primitive fondamentale <em>plt.subplots()<\/em>.<\/p>\n<p>Cette approche autorise une modularit\u00e9 architecturale absolue. L&rsquo;analyste peut sp\u00e9cifier la taille physique rigoureuse du canevas en pouces (via le param\u00e8tre <em>figsize<\/em>), anticiper le comportement des \u00e9tiquettes lors de l&rsquo;exportation et manipuler individuellement des r\u00e9seaux matriciels de sous-graphiques d&rsquo;une complexit\u00e9 arbitraire. Pour des agencements asym\u00e9triques o\u00f9 certains graphiques de densit\u00e9 doivent occuper une surface spatiale pr\u00e9pond\u00e9rante par rapport \u00e0 d&rsquo;autres panneaux d&rsquo;appoint, la mobilisation du module <em>matplotlib.gridspec.GridSpec<\/em> permet d&rsquo;allouer des ratios de hauteur et de largeur hautement personnalis\u00e9s au sein de la matrice d&rsquo;affichage.<\/p>\n<p>Une fois les objets <em>Axes<\/em> explicitement instanci\u00e9s, le r\u00e9glage microscopique de leur anatomie graphique peut d\u00e9buter. L&rsquo;acc\u00e8s aux structures de bordure (d\u00e9sign\u00e9es sous le nom de <em>spines<\/em>) permet de supprimer les cadres sup\u00e9rieurs et droits superflus (une pratique couramment d\u00e9sign\u00e9e sous le terme de <em>despining<\/em>), all\u00e9geant le ratio encre-donn\u00e9es cher aux th\u00e9oriciens de l&rsquo;information visuelle. Parall\u00e8lement, l&rsquo;ajustement direct des graduations majeures et mineures (<em>ticks<\/em>), l&rsquo;orientation de leurs \u00e9tiquettes et le param\u00e9trage d&rsquo;un quadrillage d&rsquo;arri\u00e8re-plan tr\u00e8s subtil (<em>grid<\/em>) garantissent un rendu \u00e9pur\u00e9, r\u00e9pondant aux standards les plus exigeants de la typographie scientifique.<\/p>\n<h3>10.2 Annotations et mise en valeur de seuils statistiques<\/h3>\n<p>Un graphique de densit\u00e9 purement passif contraint le lecteur \u00e0 estimer visuellement la localisation des param\u00e8tres centraux et des seuils critiques le long de l&rsquo;axe des abscisses. L&rsquo;enrichissement s\u00e9mantique du trac\u00e9 par l&rsquo;adjonction de rep\u00e8res statistiques explicites transforme une simple courbe exploratoire en une figure explicative \u00e0 haute valeur informative.<\/p>\n<p>L&rsquo;introduction de rep\u00e8res d&rsquo;abscisses s&rsquo;op\u00e8re couramment \u00e0 l&rsquo;aide de la m\u00e9thode <em>ax.axvline()<\/em>. En transmettant la valeur empirique de la moyenne ou de la m\u00e9diane calcul\u00e9e sur l&rsquo;\u00e9chantillon, cette m\u00e9thode dresse une droite verticale interceptant la courbe de densit\u00e9 sur toute sa hauteur. L&rsquo;attribution d&rsquo;un motif discontinu tiret\u00e9, d&rsquo;une coloration contrastante (par exemple un rouge bordeaux ou un pourpre sombre) et d&rsquo;une mention descriptive int\u00e9gr\u00e9e garantit l&rsquo;identification imm\u00e9diate du centre de gravit\u00e9 de la masse probabiliste.<\/p>\n<p>Pour aller plus loin dans la contextualisation de l&rsquo;incertitude ou de seuils normatifs, l&#8217;emploi de la m\u00e9thode <em>ax.axvspan()<\/em> permet de d\u00e9limiter des zones d&rsquo;intervalles de confiance ou des plages d&rsquo;\u00e9cart-type ombr\u00e9es sur l&rsquo;axe horizontal. Cette zone teint\u00e9e d&rsquo;un voile transparent met en valeur une portion sp\u00e9cifique du domaine d&rsquo;observation. Enfin, le positionnement d&rsquo;annotations textuelles dynamiques \u00e0 l&rsquo;aide de la m\u00e9thode <em>ax.annotate()<\/em>, combinant une cha\u00eene textuelle format\u00e9e et une fl\u00e8che vectorielle pointant pr\u00e9cis\u00e9ment vers un mode ou une singularit\u00e9 remarquable de la courbe, oriente avec une redoutable efficacit\u00e9 la lecture cognitive de l&rsquo;examinateur.<\/p>\n<h3>10.3 Exportation vectorielle et pr\u00e9paration pour l&rsquo;\u00e9dition acad\u00e9mique<\/h3>\n<p>L&rsquo;aboutissement de la cha\u00eene de production d&rsquo;une figure scientifique r\u00e9side dans son exportation num\u00e9rique sous une forme pr\u00e9servant int\u00e9gralement son int\u00e9grit\u00e9 visuelle et sa r\u00e9solution, que ce soit pour une soumission \u00e0 des comit\u00e9s de lecture acad\u00e9miques ou pour son int\u00e9gration au sein de th\u00e8ses universitaires et de rapports d&rsquo;expertise.<\/p>\n<p>La r\u00e8gle d&rsquo;or pour tout travail graphique \u00e9ditorial est de privil\u00e9gier les formats vectoriels plut\u00f4t que les repr\u00e9sentations matricielles pixellis\u00e9es (telles que PNG ou JPEG). Lors de l&rsquo;appel \u00e0 la fonction d&rsquo;enregistrement <em>fig.savefig()<\/em>, il convient d&rsquo;opter pour des extensions vectorielles p\u00e9rennes comme le PDF (<em>Portable Document Format<\/em>), le SVG (<em>Scalable Vector Graphics<\/em>) ou l&rsquo;EPS (<em>Encapsulated PostScript<\/em>). Ces formats encodent les trac\u00e9s sous forme d&rsquo;instructions g\u00e9om\u00e9triques pures, autorisant un agrandissement ou une r\u00e9duction d&rsquo;\u00e9chelle illimit\u00e9e sans aucune perte de nettet\u00e9 des courbes de densit\u00e9 ou des \u00e9l\u00e9ments typographiques.<\/p>\n<p>Deux param\u00e8tres techniques critiques doivent imp\u00e9rativement accompagner l&rsquo;instruction d&rsquo;exportation : <em>dpi<\/em> et <em>bbox_inches<\/em>. Bien que le format vectoriel soit intrins\u00e8quement ind\u00e9pendant de la notion de r\u00e9solution, la sp\u00e9cification explicite de <em>dpi=300<\/em> garantit que les \u00e9l\u00e9ments rasteris\u00e9s r\u00e9siduels (tels que certains ombrages transparents complexes) conserveront une qualit\u00e9 photographique impeccable. De mani\u00e8re compl\u00e9mentaire, l&rsquo;adjonction syst\u00e9matique de <em>bbox_inches=\u00a0\u00bbtight\u00a0\u00bb<\/em> instruit Matplotlib de recalculer dynamiquement la bo\u00eete englobante de la figure avant l&rsquo;\u00e9criture sur le disque, pr\u00e9venant ainsi de mani\u00e8re d\u00e9terministe la troncature involontaire des titres externes, des l\u00e9gendes d\u00e9bordantes ou des \u00e9tiquettes d&rsquo;abscisses positionn\u00e9es en lisi\u00e8re de page.<\/p>\n<h2>11. Diagnostics statistiques et pi\u00e8ges fr\u00e9quents<\/h2>\n<h3>11.1 Effet de bord et biais aux fronti\u00e8res<\/h3>\n<p>L&rsquo;un des d\u00e9fis m\u00e9thodologiques les plus insidieux pos\u00e9s par l&rsquo;estimation de densit\u00e9 par noyau classique concerne le ph\u00e9nom\u00e8ne de fuite de densit\u00e9 aux fronti\u00e8res, \u00e9galement d\u00e9sign\u00e9 sous le nom de biais de bord ou <em>boundary bias<\/em>. Cette anomalie statistique survient in\u00e9vitablement chaque fois que la variable empirique \u00e9tudi\u00e9e est assujettie \u00e0 une contrainte physique ou math\u00e9matique qui borne strictement son domaine de d\u00e9finition, comme une stricte positivit\u00e9 (par exemple, des concentrations s\u00e9riques ou des intervalles de temps) ou un confinement au sein d&rsquo;un intervalle clos born\u00e9.<\/p>\n<p>L&rsquo;estimateur de Parzen-Rosenblatt standard ne poss\u00e9dant aucune conscience intrins\u00e8que des barri\u00e8res th\u00e9oriques qui d\u00e9limitent la variable, il d\u00e9ploie sym\u00e9triquement ses fonctions noyaux gaussiens au-del\u00e0 des bornes physiques. En pr\u00e9sence d&rsquo;une masse substantielle d&rsquo;observations agr\u00e9g\u00e9es \u00e0 proximit\u00e9 imm\u00e9diate de la fronti\u00e8re (par exemple pr\u00e8s de z\u00e9ro), une fraction notable de la surface des noyaux s&rsquo;\u00e9chappe en dehors du domaine de validit\u00e9 pour s&rsquo;\u00e9tendre dans les valeurs n\u00e9gatives. Cette fuite produit deux distorsions perverses : d&rsquo;une part, la courbe sugg\u00e8re faussement la plausibilit\u00e9 empirique d&rsquo;\u00e9tats physiques impossibles, et d&rsquo;autre part, la hauteur de la densit\u00e9 se trouve artificiellement abaiss\u00e9e et sous-estim\u00e9e \u00e0 la fronti\u00e8re r\u00e9elle en raison de cette perte de masse int\u00e9grale non compens\u00e9e.<\/p>\n<p>Plusieurs strat\u00e9gies m\u00e9thodologiques permettent de neutraliser ce biais aux limites. La plus rigoureuse consiste \u00e0 appliquer une transformation pr\u00e9alable de la variable avant le trac\u00e9 de la densit\u00e9, comme une transformation logarithmique naturelle pour des donn\u00e9es strictement positives ou une transformation logit pour des donn\u00e9es born\u00e9es sur l&rsquo;intervalle [0, 1]. Une fois l&rsquo;estimation par noyau conduite sur la variable transform\u00e9e d\u00e9gag\u00e9e de contraintes, la densit\u00e9 est projet\u00e9e en sens inverse via la r\u00e8gle du changement de variable de Jacobi. D&rsquo;autres approches algorithmiques avanc\u00e9es incluent l&#8217;emploi de noyaux de substitution tronqu\u00e9s ou la m\u00e9thode de r\u00e9flexion de Silverman, qui replie sym\u00e9triquement la masse \u00e9chapp\u00e9e au-del\u00e0 de la fronti\u00e8re vers l&rsquo;int\u00e9rieur du domaine empirique.<\/p>\n<h3>11.2 Risque d&rsquo;interpr\u00e9tation erron\u00e9e des queues de distribution<\/h3>\n<p>L&rsquo;interpr\u00e9tation visuelle des r\u00e9gions terminales d&rsquo;un graphique de densit\u00e9 \u2014 commun\u00e9ment d\u00e9sign\u00e9es sous l&rsquo;appellation de queues de distribution \u2014 est sujette \u00e0 des biais cognitifs majeurs de la part des analystes. En raison du lissage continu op\u00e9r\u00e9 par les noyaux, une zone de queue tr\u00e8s \u00e9tir\u00e9e peut sembler poss\u00e9der une \u00e9paisseur visuelle substantielle et une r\u00e9gularit\u00e9 trompeuse, alors m\u00eame qu&rsquo;elle ne repose sur le plan empirique que sur une quantit\u00e9 infinit\u00e9simale de donn\u00e9es brutes.<\/p>\n<p>Cette fragilit\u00e9 statistique s&rsquo;explique par la nature m\u00eame de l&rsquo;estimateur dont la variance locale s&rsquo;accro\u00eet consid\u00e9rablement dans les zones de faible densit\u00e9 d&rsquo;observations. Deux points isol\u00e9s situ\u00e9s loin de la moyenne suffisent \u00e0 maintenir la courbe de densit\u00e9 au-dessus de l&rsquo;axe sur un vaste intervalle, cr\u00e9ant l&rsquo;illusion pernicieuse d&rsquo;un \u00e9talement structurel de la population alors qu&rsquo;il ne s&rsquo;agit que de singularit\u00e9s stochastiques d&rsquo;\u00e9chantillonnage. Ce risque est particuli\u00e8rement pr\u00e9gnant lors de l&rsquo;examen d&rsquo;\u00e9chantillons de taille modeste (par exemple, N inf\u00e9rieur \u00e0 50 observations).<\/p>\n<p>Pour immuniser l&rsquo;analyse contre ces illusions d&rsquo;optique probabilistes, il est primordial d&rsquo;adopter une posture d&rsquo;hygi\u00e8ne graphique rigoureuse. L&rsquo;analyste doit imp\u00e9rativement rapporter de mani\u00e8re transparente la taille effective de l&rsquo;\u00e9chantillon (N) directement au sein du titre ou de la l\u00e9gende de la figure. Par ailleurs, comme nous l&rsquo;avons soulign\u00e9 pr\u00e9c\u00e9demment, la superposition conjointe d&rsquo;un tapis d&rsquo;\u00e9chantillonnage marginal (<em>rug plot<\/em>) ou de points individuels permet \u00e0 l&rsquo;observateur d&rsquo;\u00e9valuer d&rsquo;un coup d&rsquo;\u0153il si l&rsquo;\u00e9tirement d&rsquo;une queue de distribution est valid\u00e9 par une cha\u00eene continue d&rsquo;observations r\u00e9elles ou s&rsquo;il s&rsquo;agit d&rsquo;un artefact d&rsquo;interpolation caus\u00e9 par un unique individu divergent.<\/p>\n<h3>11.3 Impact des donn\u00e9es discr\u00e8tes ou arrondies<\/h3>\n<p>Une derni\u00e8re source fr\u00e9quente d&rsquo;art\u00e9facts et de d\u00e9formations pathologiques dans les graphiques de densit\u00e9 r\u00e9side dans l&rsquo;application na\u00efve de l&rsquo;estimation par noyau \u00e0 des variables qui, bien que th\u00e9oriquement continues, ont subi une discr\u00e9tisation s\u00e9v\u00e8re ou des arrondis syst\u00e9matiques lors du processus de recueil ou de num\u00e9risation des donn\u00e9es exp\u00e9rimentales.<\/p>\n<p>Lorsqu&rsquo;un \u00e9chantillon comporte une multitude d&rsquo;observations redondantes qui s&rsquo;agglutinent sur des valeurs num\u00e9riques enti\u00e8res pr\u00e9cises (par exemple des scores psychologiques arrondis \u00e0 l&rsquo;unit\u00e9 la plus proche ou des mesures d&rsquo;\u00e2ges exprim\u00e9es exclusivement en ann\u00e9es r\u00e9volues), l&rsquo;algorithme d&rsquo;estimation de densit\u00e9 interpr\u00e8te cette concentration discr\u00e8te artificielle comme une succession d&rsquo;impulsions de Dirac. Si la bande passante est ajust\u00e9e \u00e0 une valeur trop sensible, la courbe r\u00e9sultante ne sera pas lisse mais d\u00e9veloppera une s\u00e9rie d&rsquo;ondulations r\u00e9guli\u00e8res en dents de scie ou de bosses p\u00e9riodiques centr\u00e9es sur chaque point d&rsquo;arrondi.<\/p>\n<p>Ces ondulations constituent des art\u00e9facts d&rsquo;\u00e9chantillonnage d\u00e9nu\u00e9s de toute signification distributionnelle r\u00e9elle. Pour rem\u00e9dier \u00e0 cet \u00e9cueil lorsque la collecte de nouvelles donn\u00e9es plus pr\u00e9cises est impossible, l&rsquo;analyste peut d\u00e9ployer une technique d&rsquo;agitation al\u00e9atoire contr\u00f4l\u00e9e, commun\u00e9ment qualifi\u00e9e de <em>jittering<\/em>. Ce proc\u00e9d\u00e9 consiste \u00e0 injecter un bruit stochastique uniforme de magnitude infinit\u00e9simale (strictement inf\u00e9rieur \u00e0 la pr\u00e9cision de l&rsquo;arrondi) dans le vecteur de donn\u00e9es brutes avant d&rsquo;estimer la densit\u00e9, dissipant ainsi l&rsquo;agglom\u00e9ration artificielle sans biaiser les param\u00e8tres centraux de la distribution. Si la variable pr\u00e9sente une nature fondamentalement ordinale ou cat\u00e9gorielle, il conviendra en revanche de renoncer \u00e0 l&rsquo;estimation de densit\u00e9 par noyau pour lui pr\u00e9f\u00e9rer des graphiques en barres de fr\u00e9quences discr\u00e8tes.<\/p>\n<h2>12. \u00c9tude de cas pas \u00e0 pas : Analyse de donn\u00e9es psychom\u00e9triques r\u00e9elles<\/h2>\n<h3>12.1 \u00c9nonc\u00e9 de l&rsquo;exp\u00e9rience et structure du jeu de donn\u00e9es<\/h3>\n<p>Afin de consolider les principes m\u00e9thodologiques et les comp\u00e9tences techniques d\u00e9velopp\u00e9s tout au long de cet article, nous proposons une \u00e9tude de cas appliqu\u00e9e et progressive, repr\u00e9sentative des protocoles quantitatifs d\u00e9ploy\u00e9s en psychologie clinique et en recherche comportementale translationnelle.<\/p>\n<p>Consid\u00e9rons une cohorte exp\u00e9rimentale de 250 patients pr\u00e9sentant un trouble anxieux g\u00e9n\u00e9ralis\u00e9 mod\u00e9r\u00e9 \u00e0 s\u00e9v\u00e8re, int\u00e9gr\u00e9s au sein d&rsquo;un programme d&rsquo;intervention de psychoth\u00e9rapie cognitive bas\u00e9e sur la pleine conscience s&rsquo;\u00e9tendant sur une dur\u00e9e de huit semaines. L&rsquo;\u00e9valuation de la s\u00e9v\u00e9rit\u00e9 symptomatique est conduite \u00e0 l&rsquo;aide d&rsquo;une \u00e9chelle psychom\u00e9trique psychologique valid\u00e9e internationalement, fournissant un score composite continu calibr\u00e9 de 0 \u00e0 100 points, o\u00f9 des valeurs \u00e9lev\u00e9es mat\u00e9rialisent une d\u00e9tresse anxieuse aigu\u00eb. Chaque participant est soumis \u00e0 deux sessions de mesurage rigoureusement standardis\u00e9es : une passation initiale pr\u00e9alable \u00e0 toute d\u00e9marche th\u00e9rapeutique (temps pr\u00e9-intervention) et une seconde passation au terme exact du protocole de prise en charge (temps post-intervention).<\/p>\n<p>L&rsquo;objectif scientifique de la visualisation consiste \u00e0 mod\u00e9liser et comparer visuellement les distributions compl\u00e8tes des scores d&rsquo;anxi\u00e9t\u00e9 avant et apr\u00e8s l&rsquo;intervention clinique. L&rsquo;hypoth\u00e8se th\u00e9orique postule non seulement un glissement m\u00e9dian favorable de la distribution vers des scores d&rsquo;anxi\u00e9t\u00e9 inf\u00e9rieurs, mais pr\u00e9suppose \u00e9galement une m\u00e9tamorphose morphologique de la population, qui pourrait passer d&rsquo;une distribution unimodale homog\u00e8ne et sym\u00e9trique \u00e0 l&rsquo;admission vers une distribution bimodale \u00e0 l&rsquo;issue de la th\u00e9rapie, signalant l&rsquo;\u00e9mergence d&rsquo;une sous-population sp\u00e9cifique de r\u00e9pondants th\u00e9rapeutiques d&rsquo;excellence coexistant avec un contingent de patients r\u00e9fractaires au traitement.<\/p>\n<h3>12.2 Construction progressive du graphique de publication<\/h3>\n<p>La transcription de ce protocole exp\u00e9rimental en une figure graphique de qualit\u00e9 publication exige l&rsquo;assemblage ordonn\u00e9 des meilleures pratiques de codage avec Matplotlib et Seaborn. Le flux de travail s&rsquo;articule autour de la cr\u00e9ation explicite d&rsquo;un conteneur graphique ind\u00e9pendant, de l&rsquo;orchestration des estimations par noyau, du calcul d\u00e9terministe de m\u00e9triques d&rsquo;annotations et du raffinement de la typographie \u00e9ditoriale.<\/p>\n<p>La conception d\u00e9bute par la g\u00e9n\u00e9ration programmatique des vecteurs de donn\u00e9es simul\u00e9s selon les param\u00e8tres attendus, int\u00e9gr\u00e9s dans un DataFrame Pandas au format long. Nous d\u00e9clarons ensuite formellement l&rsquo;objet Figure et l&rsquo;objet Axes au moyen de <em>plt.subplots()<\/em> avec un format horizontal \u00e9quilibr\u00e9 de 10 pouces de large par 6 pouces de hauteur. Nous appliquons la fonction <em>sns.kdeplot()<\/em> en ciblant les deux temps de mesure \u00e0 l&rsquo;aide de l&rsquo;argument de stratification chromatique <em>hue<\/em>, en veillant \u00e0 activer l&rsquo;argument <em>fill=True<\/em> avec une transparence d\u00e9licatement dos\u00e9e \u00e0 <em>alpha=0.30<\/em> pour \u00e9viter toute saturation dans la zone de chevauchement distributionnel.<\/p>\n<p>Le choix chromatique doit imp\u00e9rativement respecter les recommandations d&rsquo;accessibilit\u00e9 visuelle universelle. Nous s\u00e9lectionnons d\u00e9lib\u00e9r\u00e9ment une palette contrast\u00e9e et exempte d&rsquo;ambigu\u00eft\u00e9 pour les lecteurs daltoniens, associant une teinte gris ardoise profonde pour caract\u00e9riser l&rsquo;\u00e9tat pr\u00e9-th\u00e9rapeutique initial et une teinte bleu saphir lumineuse pour distinguer l&rsquo;\u00e9tat post-th\u00e9rapeutique. Nous ajoutons ensuite des droites verticales discontinues (<em>axvline<\/em>) positionn\u00e9es pr\u00e9cis\u00e9ment sur les m\u00e9dianes empiriques calcul\u00e9es de chaque condition, surmont\u00e9es d&rsquo;annotations typographiques claires pr\u00e9cisant la valeur absolue du score m\u00e9dian et la taille de l&rsquo;\u00e9chantillon. Enfin, nous \u00e9liminons les bordures superflues de l&rsquo;axe, ins\u00e9rons un quadrillage millim\u00e9trique \u00e0 tr\u00e8s faible opacit\u00e9 sur l&rsquo;axe horizontal, et verrouillons les limites d&rsquo;abscisses entre 0 et 100 pour respecter le domaine th\u00e9orique de l&rsquo;instrument de mesure.<\/p>\n<h3>12.3 Rapport et interpr\u00e9tation acad\u00e9mique des r\u00e9sultats visualis\u00e9s<\/h3>\n<p>La figure achev\u00e9e ne constitue pas une fin en soi ; elle devient le support probant \u00e0 partir duquel s&rsquo;articule l&rsquo;argumentation scientifique formelle. La r\u00e9daction descriptive accompagnant le graphique au sein d&rsquo;un manuscrit scientifique doit ob\u00e9ir aux normes de rigueur formelles \u00e9dict\u00e9es par les manuels de style acad\u00e9miques, tels que les directives de l&rsquo;<em>American Psychological Association<\/em> (normes APA de septi\u00e8me \u00e9dition).<\/p>\n<p>Le paragraphe descriptif de r\u00e9sultats transcrit les indices morphologiques de la figure en constats statistiques tangibles : <em>\u00ab\u00a0L&rsquo;examen des fonctions de densit\u00e9 estim\u00e9es par noyau (noyau gaussien standard, bande passante calibr\u00e9e par la m\u00e9thode de Scott avec ajustement unitaire) met en \u00e9vidence une modification substantielle de la morphologie de la distribution des scores d&rsquo;anxi\u00e9t\u00e9 entre la phase pr\u00e9-intervention et la phase post-intervention. Alors que la distribution initiale se caract\u00e9rise par une forme unimodale sym\u00e9trique centr\u00e9e autour d&rsquo;un score m\u00e9dian \u00e9lev\u00e9 (M\u00e9diane = 68.4, \u00c9cart interquartile = 12.1), la distribution mesur\u00e9e \u00e0 l&rsquo;issue des huit semaines de prise en charge r\u00e9v\u00e8le un d\u00e9calage global vers des valeurs inf\u00e9rieures (M\u00e9diane = 41.2, \u00c9cart interquartile = 21.8) coupl\u00e9 \u00e0 une structure nettement bimodale.\u00a0\u00bb<\/em><\/p>\n<p>Le compte rendu explicite ensuite la port\u00e9e th\u00e9orique de cette bimodalit\u00e9 r\u00e9v\u00e9l\u00e9e par la continuit\u00e9 du trac\u00e9 : <em>\u00ab\u00a0Ce d\u00e9doublement de la cr\u00eate de densit\u00e9 post-th\u00e9rapeutique atteste de l&rsquo;h\u00e9t\u00e9rog\u00e9n\u00e9it\u00e9 de la r\u00e9ponse clinique au protocole de pleine conscience. Un premier mode hautement pr\u00e9pond\u00e9rant culmine autour d&rsquo;un score de 32, illustrant une r\u00e9mission symptomatique substantielle chez une majorit\u00e9 de participants, tandis qu&rsquo;un second mode subsidiaire persiste aux environs d&rsquo;un score de 62, isolant une sous-population de non-r\u00e9pondeurs dont le profil d&rsquo;anxi\u00e9t\u00e9 demeure inchang\u00e9. Cette structure bivalente, enti\u00e8rement dissimul\u00e9e lors d&rsquo;une agr\u00e9gation par la moyenne arithm\u00e9tique globale, d\u00e9montre la valeur diagnostique sup\u00e9rieure de l&rsquo;estimation de densit\u00e9 non param\u00e9trique pour guider l&rsquo;interpr\u00e9tation des essais cliniques comportementaux.\u00a0\u00bb<\/em><\/p>\n<h2>R\u00e9f\u00e9rences<\/h2>\n<ul>\n<li>Parzen, E. (1962). On Estimation of a Probability Density Function and Mode. <em>The Annals of Mathematical Statistics<\/em>, 33(3), 1065\u20131076. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1214\/aoms\/1177704472\">https:\/\/doi.org\/10.1214\/aoms\/1177704472<\/a><\/li>\n<li>Rosenblatt, M. (1956). Remarks on Some Nonparametric Estimates of a Density Function. <em>The Annals of Mathematical Statistics<\/em>, 27(3), 832\u2013837. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1214\/aoms\/1177728190\">https:\/\/doi.org\/10.1214\/aoms\/1177728190<\/a><\/li>\n<li>Silverman, B. W. (1986). <em>Density Estimation for Statistics and Data Analysis<\/em>. Chapman and Hall \/ CRC Monographs on Statistics and Applied Probability. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1201\/9781315140919\">https:\/\/doi.org\/10.1201\/9781315140919<\/a><\/li>\n<li>Scott, D. W. (2015). <em>Multivariate Density Estimation: Theory, Practice, and Visualization<\/em> (2nd ed.). John Wiley &amp; Sons. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1002\/9781118575574\">https:\/\/doi.org\/10.1002\/9781118575574<\/a><\/li>\n<li>Hunter, J. D. (2007). Matplotlib: A 2D Graphics Environment. <em>Computing in Science &amp; Engineering<\/em>, 9(3), 90\u201395. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1109\/MCSE.2007.55\">https:\/\/doi.org\/10.1109\/MCSE.2007.55<\/a><\/li>\n<li>Waskom, M. L. (2021). Seaborn: statistical data visualization. <em>Journal of Open Source Software<\/em>, 6(60), 3021. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.21105\/joss.03021\">https:\/\/doi.org\/10.21105\/joss.03021<\/a><\/li>\n<li>Virtanen, P., Gommers, R., Oliphant, T. E., Haberland, M., Reddy, T., Cournapeau, D., Burovski, E., Peterson, P., Weckesser, W., Bright, J., van der Walt, S. J., Brett, M., Wilson, J., Millman, K. J., Mayorov, N., Nelson, A. R. J., Jones, E., Kern, R., Larson, E., \u2026 SciPy 1.0 Contributors. (2020). SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python. <em>Nature Methods<\/em>, 17(3), 261\u2013272. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1038\/s41592-019-0686-2\">https:\/\/doi.org\/10.1038\/s41592-019-0686-2<\/a><\/li>\n<li>Tufte, E. R. (2001). <em>The Visual Display of Quantitative Information<\/em> (2nd ed.). Graphics Press.<\/li>\n<li>Wickham, H. (2014). Tidy Data. <em>Journal of Statistical Software<\/em>, 59(10), 1\u201323. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.18637\/jss.v059.i10\">https:\/\/doi.org\/10.18637\/jss.v059.i10<\/a><\/li>\n<li>American Psychological Association. (2020). <em>Publication Manual of the American Psychological Association<\/em> (7th ed.). American Psychological Association. <a rel=\"noopener noreferrer\" href=\"https:\/\/doi.org\/10.1037\/0000165-000\">https:\/\/doi.org\/10.1037\/0000165-000<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Guide acad\u00e9mique complet pour cr\u00e9er et personnaliser des graphiques de densit\u00e9 (KDE) avec Matplotlib et Seaborn, incluant des exemples pratiques d\u00e9taill\u00e9s.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","categories":[2269,2687],"tags":[4796,4795,3150,2468,4094],"class_list":["post-2736","psych_stat","type-psych_stat","status-publish","hentry","category-methodes-quantitatives","category-visualisation-de-donnees","tag-graphique-de-densite","tag-kdeplot","tag-matplotlib","tag-python","tag-seaborn"],"_links":{"self":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/2736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat"}],"about":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/types\/psych_stat"}],"author":[{"embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2736"}],"version-history":[{"count":1,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/2736\/revisions"}],"predecessor-version":[{"id":16393,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=\/wp\/v2\/psych_stat\/2736\/revisions\/16393"}],"wp:attachment":[{"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2736"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2736"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/french.arabpsychology.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}