ggplot2 - Graphiques divergents

Dans les chapitres précédents, nous avons examiné différents types de graphiques qui peuvent être créés à l'aide du package «ggplot2». Nous allons maintenant nous concentrer sur la variation des mêmes graphiques à barres divergents, des graphiques à sucettes et bien d'autres. Pour commencer, nous allons commencer par créer des histogrammes divergents et les étapes à suivre sont mentionnées ci-dessous -

Comprendre l'ensemble de données

Chargez le package requis et créez une nouvelle colonne appelée «nom de voiture» dans l'ensemble de données mpg.

#Load ggplot
> library(ggplot2)
> # create new column for car names
> mtcars$`car name` <- rownames(mtcars)
> # compute normalized mpg
> mtcars$mpg_z <- round((mtcars$mpg - mean(mtcars$mpg))/sd(mtcars$mpg), 2)
> # above / below avg flag
> mtcars$mpg_type <- ifelse(mtcars$mpg_z < 0, "below", "above")
> # sort
> mtcars <- mtcars[order(mtcars$mpg_z), ]

Le calcul ci-dessus implique la création d'une nouvelle colonne pour les noms de voitures, le calcul de l'ensemble de données normalisé à l'aide de la fonction round. Nous pouvons également utiliser l'indicateur au-dessus et au-dessous de avg pour obtenir les valeurs de la fonctionnalité «type». Plus tard, nous trions les valeurs pour créer l'ensemble de données requis.

La sortie reçue est la suivante -

Convertissez les valeurs en facteur pour conserver l'ordre de tri dans un tracé particulier, comme indiqué ci-dessous -

> # convert to factor to retain sorted order in plot.
> mtcars$`car name` <- factor(mtcars$`car name`, levels = mtcars$`car name`)

Le rendement obtenu est mentionné ci-dessous -

Graphique à barres divergentes

Créez maintenant un diagramme à barres divergentes avec les attributs mentionnés qui sont considérés comme des coordonnées requises.

> # Diverging Barcharts
> ggplot(mtcars, aes(x=`car name`, y=mpg_z, label=mpg_z)) +
+ geom_bar(stat='identity', aes(fill=mpg_type), width=.5) +
+ scale_fill_manual(name="Mileage",
+    labels = c("Above Average", "Below Average"),
+    values = c("above"="#00ba38", "below"="#f8766d")) +
+ labs(subtitle="Normalised mileage from 'mtcars'",
+    title= "Diverging Bars") +
+ coord_flip()

Note - Un graphique à barres divergentes marque pour certains membres de dimension pointant vers le haut ou vers le bas par rapport aux valeurs mentionnées.

La sortie du graphique à barres divergentes est mentionnée ci-dessous où nous utilisons la fonction geom_bar pour créer un graphique à barres -

Tableau des sucettes divergentes

Créez un diagramme de sucettes divergeant avec les mêmes attributs et coordonnées avec seulement le changement de fonction à utiliser, c'est-à-dire geom_segment () qui aide à créer les graphiques de sucettes.

> ggplot(mtcars, aes(x=`car name`, y=mpg_z, label=mpg_z)) +
+ geom_point(stat='identity', fill="black", size=6) +
+ geom_segment(aes(y = 0,
+    x = `car name`,
+    yend = mpg_z,
+    xend = `car name`),
+       color = "black") +
+ geom_text(color="white", size=2) +
+ labs(title="Diverging Lollipop Chart",
+    subtitle="Normalized mileage from 'mtcars': Lollipop") +
+ ylim(-2.5, 2.5) +
+ coord_flip()

Tracé de points divergents

Créez un diagramme à points divergents de la même manière où les points représentent les points dans des tracés dispersés dans une plus grande dimension.

> ggplot(mtcars, aes(x=`car name`, y=mpg_z, label=mpg_z)) +
+  geom_point(stat='identity', aes(col=mpg_type), size=6) +
+  scale_color_manual(name="Mileage",
+     labels = c("Above Average", "Below Average"),
+     values = c("above"="#00ba38", "below"="#f8766d")) +
+ geom_text(color="white", size=2) +
+ labs(title="Diverging Dot Plot",
+     subtitle="Normalized mileage from 'mtcars': Dotplot") +
+ ylim(-2.5, 2.5) +
+ coord_flip()

Ici, les légendes représentent les valeurs «Au-dessus de la moyenne» et «En dessous de la moyenne» avec des couleurs distinctes de vert et de rouge. Le dot plot transmet des informations statiques. Les principes sont les mêmes que ceux du graphique à barres divergentes, sauf que seuls les points sont utilisés.