Ce graphique affiche un tableau de contingence bidirectionnel dont les données sont approximativement les suivantes:
Branded Unbranded Social Referring Direct RSS
First-time... 177276 472737 88638 265915 472737 59092
Return Visits... 236002 629339 118001 354003 629339 78667
4+ Visits in ... 166514 444037 83257 249771 444037 55505
10+ Visit in ... 28782 76751 14391 43172 76751 9594
At Least One Visit... 6707 17886 3354 10061 17886 2236
Last Touch... 660 1759 330 989 1759 220
Il existe une myriade de façons de construire cette intrigue. Par exemple, vous pouvez calculer les positions de chaque patch rectangulaire de couleur et plaquer séparément chaque patch. En général, cependant, cela aide à trouver une description succincte de la façon dont un tracé représente les données.
Comme point de départ, nous pouvons voir celui-ci comme une variation d'un graphique à barres empilées.
Ce tracé n'a guère besoin d'être décrit: par familiarité, nous savons que chaque ligne de rectangles correspond à chaque ligne du tableau de contingence; que les longueurs des rectangles sont directement proportionnelles à leurs dénombrements; qu'ils ne se chevauchent pas; et que les couleurs correspondent aux colonnes du tableau.
Si nous convertissons ce tableau en un "bloc de données" ou un "tableau de données" ayant une ligne par comptage avec des champs indiquant le nom de la ligne, le nom de la colonne et le nombre, le traçage revient généralement à appeler une fonction appropriée et à spécifier où trouver les noms de ligne, les noms de colonne et les nombres. En utilisant une grammaire d' implémentation graphique (le package pour ), cela ressemblerait à quelque chose commeXggplot2
R
ggplot(X, aes(Outcome, Count, fill=Referral)) + geom_col()
Les détails du graphique, tels que la largeur d'une rangée de barres et les couleurs à utiliser, doivent généralement être stipulés explicitement. La façon dont cela se fait dépend de l'environnement de traçage (et n'a donc que peu d'intérêt: il suffit de le rechercher).
Cette implémentation particulière de la grammaire des graphiques offre peu de flexibilité dans le positionnement des barres. Une façon de produire l'apparence souhaitée, avec un minimum d'effort, consiste à insérer une catégorie invisible à la base de chaque barre afin que les barres soient centrées. Un peu de réflexion suggère que le faux compte nécessaire pour centrer chaque barre doit être la moyenne de la longueur totale de la barre et celle de la barre la plus longue. Pour cet exemple, ce serait une colonne initiale avec les valeurs
254478.0 0.0 301115.0 897955.0 993610.5 1019817.0
Voici le graphique à barres empilées résultant montrant les fausses données en gris clair:
La figure souhaitée est créée en rendant invisibles les graphiques de la fausse colonne:
La description de la grammaire des graphiques de l'intrigue n'a pas besoin de changer: nous avons simplement fourni une table de contingence différente à rendre selon la même description (et a remplacé la couleur par défaut pour la fausse colonne).
commentaires
Ces graphiques sont honnêtes: l'étendue horizontale de chaque patch coloré est directement proportionnelle aux données sous-jacentes, sans distorsion. Les comparer à l'original (dans la question) révèle à quel point sa distorsion est extrême ( Lie Factor de Tufte ).
Si vous souhaitez afficher les détails au bas de l '«entonnoir», pensez à représenter les nombres par zone plutôt que par longueur. Vous pouvez rendre les longueurs des barres proportionnelles aux racines carrées des longueurs totales et leurs largeurs (dans le sens vertical) également proportionnelles aux racines carrées. Maintenant, le fond de l '"entonnoir" serait d'environ un vingtième de la longueur la plus longue, plutôt que d'un quatre centième, ce qui permettrait de montrer certains détails. Malheureusement, l' ggplot2
implémentation ne permet pas de mapper une variable à la largeur de la barre, et donc un contournement plus complexe est nécessaire (celui qui décrit en effet chaque rectangle individuellement). Il existe peut-être une implémentation Python plus flexible.
Références
Edward Tufte, L'affichage visuel de l'information quantitative . Cheshire Press 1984.
Leland Wilkinson, La grammaire des graphiques. Springer 2005.