<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Kaiser Fung a récemment critiqué ce graphique de l'évolution du revenu disponible.

Il a avancé l'idée d'utiliser à la place des graphiques de pente catégorisés :

Comment pouvons-nous faire quelque chose comme ça dans JMP ? Nous pouvons créer des panneaux et des lignes de couleur variable dans Graph Builder ; nous avons juste besoin de mettre les données sous la bonne forme. Comme d'habitude, une étape clé dans la création d'un graphique de pente dans Graph Builder consiste à utiliser Table> Pile pour obtenir les deux colonnes de données dans une colonne d'étiquettes et une colonne de données. Ensuite, la colonne d'étiquette va sur l'axe X et la colonne de données va sur l'axe Y.
Nous devons d'abord obtenir les données. Parfois, lorsque je fais un remake rapide, la chose la plus simple à faire est de lire les données directement sur le graphique. Il existe des programmes et des sites Web pour vous aider. Cette fois, j'ai utilisé l'application en ligne, Numériseur de tracé Web , qui a produit un fichier CSV distinct pour chaque série. Les valeurs ne sont que des estimations des valeurs d'origine, bien sûr.
Après avoir ouvert les deux fichiers CSV et défini les noms de colonne sur "x" et "y", j'ai écrit le script suivant pour les combiner et calculer certaines valeurs dérivées.
dt1 = Data Table( "data" );
dt2 = Data Table( "data (1)" );
dt = New Table( "changes",
New Column( "Percentile", Format( "Percent", 8, 0 ), Set Values( (1 :: 100) / 100 ) ),
New Column( "Base", Format( "Percent", 8, 1 ) ),
New Column( "Change2010", Format( "Percent", 8, 1 ) ),
New Column( "Change2013", Format( "Percent", 8, 1 ) ),
New Column( "Net2010", Format( "Percent", 8, 1 ) ),
New Column( "Net2013", Format( "Percent", 8, 1 ) ),
New Column( "Group", Character ),
New Column( "Rank" )
);
For Each Row(
dt,
dt:Base = 1.0;
dt:Change2010 = Interpolate( dt:Percentile, dt2:x << Get Values(), dt2:y << Get Values );
dt:Change2013 = Interpolate( dt:Percentile, dt1:x << Get Values(), dt1:y << Get Values );
dt:Net2010 = dt:Base * (1 + dt:Change2010);
dt:Net2013 = dt:Net2010 * (1 + dt:Change2013);
dt:Group = If(
dt:Percentile <= 0.1, "Bottom 10%",
dt:Percentile <= 0.9, "Middle 80%",
"Top 10%"
);
dt:Rank = If(
dt:Percentile <= 0.1, dt:Percentile / .1,
dt:Percentile <= 0.9, (dt:Percentile - .1) / .8,
(dt:Percentile - .9) / .1
);
);
L'interpolation consiste à aligner les valeurs "x" sur des valeurs de centiles paires. Le groupe et le rang doivent contrôler la façon dont nous regroupons et colorons dans Graph Builder. Les valeurs Base et Net sont dues au fait que je voulais essayer quelque chose d'un peu différent de ce que Kaiser a fait. Il ne suffit pas de voir les pourcentages de perte et de gain pour voir l'effet net, donc je calcule explicitement l'effet net et je les représente à la place.
Après avoir empilé les trois colonnes, Base2007, Net2010 et Net2013, je peux créer le graphique linéaire. J'ai mis Group dans le rôle Group X et Rank dans le rôle Color, ajouté une ligne de référence à 100% et mis à jour les étiquettes.

Je viens de réaliser que même si j'ai besoin de la valeur de base pour les calculs, je n'ai pas vraiment besoin de les montrer. Après avoir utilisé un filtre de données local pour exclure Base2007 et suivi l'exemple de Kaiser pour éclaircir le groupe intermédiaire, j'obtiens :

Le tableau de données final est joint.
Mise à jour : Comme le souligne Kaiser dans le Conversation Twitter , il n'est pas nécessairement correct de calculer les valeurs nettes car nous ne savons pas si les mêmes personnes se trouvent dans chaque groupe centile pour chaque période. Heureusement, les changements sont en grande partie uniformes, de sorte que les centiles ne changent probablement pas trop, mais le graphique devient encore plus approximatif qu'il ne l'était déjà.
Si vous souhaitez recréer des graphiques de pente ou analyser les variations du revenu disponible comme indiqué ci-dessus, le numériseur de tracés en ligne peut s'avérer extrêmement utile. Il vous permet d'extraire des données directement à partir d'images de graphiques, ce qui garantit l'exactitude et vous fait gagner du temps. Cela peut vous aider à préparer rapidement des ensembles de données pour la visualisation dans JMP ou d'autres outils, en simplifiant le processus d'alignement et d'interprétation des données pour obtenir des informations significatives. C'est un compagnon puissant pour des tâches telles que la visualisation des tendances ou la création de graphiques de pente similaires à l'exemple de Kaiser.