Graphique à barres & Histogramme en R (avec exemple)

Table des matières:

Anonim

Un graphique à barres est un excellent moyen d'afficher des variables catégorielles sur l'axe des x. Ce type de graphique dénote deux aspects sur l'axe des y.

  1. Le premier compte le nombre d'occurrences entre les groupes.
  2. Le second montre une statistique récapitulative (min, max, moyenne, etc.) d'une variable sur l'axe des y.

Vous utiliserez le jeu de données mtcars avec les variables suivantes:

  • cyl: Numéro du cylindre de la voiture. Variable numérique
  • am: Type de transmission. 0 pour automatique et 1 pour manuel. Variable numérique
  • mpg: Miles par gallon. Variable numérique

Dans ce tutoriel, vous apprendrez

  • Comment créer un graphique à barres
  • Changer la couleur des barres
  • Changer l'intensité
  • Couleur par groupes
  • Ajouter un groupe dans les bars
  • Graphique à barres en pourcentage
  • Barres côte à côte
  • Histogramme

Comment créer un graphique à barres

Pour créer un graphique dans R, vous pouvez utiliser la bibliothèque ggplot qui crée des graphiques prêts à être publiés. La syntaxe de base de cette bibliothèque est:

ggplot(data, mapping = aes()) +geometric objectarguments:data: dataset used to plot the graphmapping: Control the x and y-axisgeometric object: The type of plot you want to show. The most common objects are:- Point: `geom_point()`- Bar: `geom_bar()`- Line: `geom_line()`- Histogram: `geom_histogram()`

Dans ce tutoriel, vous vous intéressez à l'objet géométrique geom_bar () qui crée le graphique à barres.

Graphique à barres: nombre

Votre premier graphique montre la fréquence du cylindre avec geom_bar (). Le code ci-dessous est la syntaxe la plus basique.

library(ggplot2)# Most basic bar chartggplot(mtcars, aes(x = factor(cyl))) +geom_bar()

Explication du code

  • Vous transmettez le jeu de données mtcars à ggplot.
  • À l'intérieur de l'argument aes (), vous ajoutez l'axe des x en tant que variable de facteur (cyl)
  • Le signe + signifie que vous voulez que R continue à lire le code. Cela rend le code plus lisible en le cassant.
  • Utilisez geom_bar () pour l'objet géométrique.

Production:

Remarque : assurez-vous de convertir les variables en un facteur, sinon R traite les variables comme numériques. Voir l'exemple ci-dessous.

Personnalisez le graphique

Quatre arguments peuvent être passés pour personnaliser le graphique:

- `stat`: Control the type of formatting. By default, `bin` to plot a count in the y-axis. For continuous value, pass `stat = "identity"`- `alpha`: Control density of the color- `fill`: Change the color of the bar- `size`: Control the size the bar

Changer la couleur des barres

Vous pouvez changer la couleur des barres. Notez que les couleurs des barres sont toutes similaires.

# Change the color of the barsggplot(mtcars, aes(x = factor(cyl))) +geom_bar(fill = "coral") +theme_classic()

Explication du code

  • Les couleurs des barres sont contrôlées par le mappage aes () à l'intérieur de l'objet géométrique (c'est-à-dire pas dans ggplot ()). Vous pouvez changer la couleur avec les arguments de remplissage. Ici, vous choisissez la couleur corail.

Production:

Vous pouvez utiliser ce code:

grDevices::colors() 

pour voir toutes les couleurs disponibles en R. Il y a environ 650 couleurs.

Changer l'intensité

Vous pouvez augmenter ou diminuer l'intensité de la couleur des barres

# Change intensityggplot(mtcars,aes(factor(cyl))) +geom_bar(fill = "coral",alpha = 0.5) +theme_classic()

Explication du code

  • Pour augmenter / diminuer l'intensité de la barre, vous pouvez modifier la valeur de l'alpha. Un alpha élevé augmente l'intensité et un alpha faible réduit l'intensité. alpha va de 0 à 1. Si 1, alors la couleur est la même que la palette. Si 0, la couleur est blanche. Vous choisissez alpha = 0,1.

Production:

Couleur par groupes

Vous pouvez changer les couleurs des barres, c'est-à-dire une couleur différente pour chaque groupe. Par exemple, la variable cyl a trois niveaux, vous pouvez ensuite tracer le graphique à barres avec trois couleurs.

# Color by groupggplot(mtcars, aes(factor(cyl),fill = factor(cyl))) +geom_bar()

Explication du code

  • L'argument fill à l'intérieur du aes () permet de changer la couleur de la barre. Vous modifiez la couleur en définissant fill = variable axe x. Dans votre exemple, la variable de l'axe des x est cyl; fill = facteur (cyl)

Production:

Ajouter un groupe dans les bars

Vous pouvez diviser davantage l'axe des y en fonction d'un autre niveau de facteur. Par exemple, vous pouvez compter le nombre de boîtes de vitesses automatiques et manuelles en fonction du type de cylindre.

Vous procéderez comme suit:

  • Étape 1: Créez le bloc de données avec le jeu de données mtcars
  • Étape 2: étiquetez la variable am avec auto pour la transmission automatique et homme pour la transmission manuelle. Convertissez am et cyl en tant que facteur afin que vous n'ayez pas besoin d'utiliser factor () dans la fonction ggplot ().
  • Étape 3: Tracez le diagramme à barres pour compter le nombre de transmission par cylindre
library(dplyr)# Step 1data <- mtcars % > %#Step 2mutate(am = factor(am, labels = c("auto", "man")),cyl = factor(cyl))

Vous avez le jeu de données prêt, vous pouvez tracer le graphique;

# Étape 3

ggplot(data, aes(x = cyl, fill = am)) +geom_bar() +theme_classic()

Explication du code

  • Le ggpplot () contient les données de l'ensemble de données et l'aes ().
  • Dans le aes (), vous incluez la variable axe x et quelle variable est nécessaire pour remplir la barre (c'est-à-dire am)
  • geom_bar (): crée le graphique à barres

Production:

Le mappage remplira la barre de deux couleurs, une pour chaque niveau. Il est facile de changer de groupe en choisissant d'autres variables de facteur dans l'ensemble de données.

Graphique à barres en pourcentage

Vous pouvez visualiser la barre en pourcentage au lieu du nombre brut.

# Graphique à barres en pourcentage

ggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = "fill") +theme_classic()

Explication du code

  • Utilisez position = "fill" dans l'argument geom_bar () pour créer un graphique avec un pourcentage sur l'axe des y.

Production:

Barres côte à côte

Il est facile de tracer le graphique à barres avec la variable de groupe côte à côte.

# Bar chart side by sideggplot(data, aes(x = cyl, fill = am)) +geom_bar(position = position_dodge()) +theme_classic()

Explication du code

  • position = position_dodge (): indique explicitement comment organiser les barres

Production:

Histogramme

Dans la deuxième partie du didacticiel sur les graphiques à barres, vous pouvez représenter le groupe de variables avec des valeurs sur l'axe des y.

Votre objectif est de créer un graphique avec le mile moyen par gallon pour chaque type de cylindre. Pour dessiner un graphique informatif, vous suivrez ces étapes:

  • Étape 1: Créez une nouvelle variable avec le mile moyen par gallon par cylindre
  • Étape 2: créer un histogramme de base
  • Étape 3: changer l'orientation
  • Étape 4: changer la couleur
  • Étape 5: changer la taille
  • Étape 6: ajouter des étiquettes au graphique

Étape 1) Créez une nouvelle variable

Vous créez un bloc de données nommé data_histogram qui renvoie simplement la moyenne des miles par gallon par le nombre de cylindres dans la voiture. Vous appelez cette nouvelle variable mean_mpg, et vous arrondissez la moyenne avec deux décimales.

# Étape 1

data_histogram <- mtcars % > %mutate(cyl = factor(cyl)) % > %group_by(cyl) % > %summarize(mean_mpg = round(mean(mpg), 2))

Étape 2) Créez un histogramme de base

Vous pouvez tracer l'histogramme. Il n'est pas prêt à communiquer pour être livré au client mais nous donne une intuition sur la tendance.

ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity")

Explication du code

  • L'aes () a maintenant deux variables. La variable cyl fait référence à l'axe des x et le mean_mpg est l'axe des y.
  • Vous devez passer l'argument stat = "identity" pour faire référence à la variable dans l'axe des y en tant que valeur numérique. geom_bar utilise stat = "bin" comme valeur par défaut.

Production:

Étape 3) Changez l'orientation

Vous modifiez l'orientation du graphique de la verticale à l'horizontale.

ggplot(data_histogram, aes(x = cyl, y = mean_mpg)) +geom_bar(stat = "identity") +coord_flip()

Explication du code

  • Vous pouvez contrôler l'orientation du graphe avec coord_flip ().

Production:

Étape 4) Changez la couleur

Vous pouvez différencier les couleurs des barres en fonction du niveau de facteur de la variable de l'axe des x.

ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity") +coord_flip() +theme_classic()

Explication du code

  • Vous pouvez tracer le graphique par groupes avec le mappage fill = cyl. R s'occupe automatiquement des couleurs en fonction des niveaux de cylindrée variable

Production:

Étape 5) Changez la taille

Pour rendre le graphique plus joli, vous réduisez la largeur de la barre.

graph <- ggplot(data_histogram, aes(x = cyl, y = mean_mpg, fill = cyl)) +geom_bar(stat = "identity",width = 0.5) +coord_flip() +theme_classic()

Explication du code

  • L'argument width à l'intérieur de geom_bar () contrôle la taille de la barre. Une valeur plus grande augmente la largeur.
  • Notez que vous stockez le graphique dans le graphique variable. Vous le faites parce que l'étape suivante ne changera pas le code du graphe variable. Cela améliore la lisibilité du code.

Production:

Étape 6) Ajouter des étiquettes au graphique

La dernière étape consiste à ajouter la valeur de la variable mean_mpg dans l'étiquette.

graph +geom_text(aes(label = mean_mpg),hjust = 1.5,color = "white",size = 3) +theme_classic()

Explication du code

  • La fonction geom_text () est utile pour contrôler l'esthétique du texte.
    • label =: ajouter une étiquette à l'intérieur des barres
    • mean_mpg: utilisez la variable mean_mpg pour le libellé
  • hjust contrôle l'emplacement de l'étiquette. Les valeurs fermées à 1 affichent le libellé en haut de la barre, et les valeurs plus élevées ramènent le libellé vers le bas. Si l'orientation du graphique est verticale, changez hjust en vjust.
  • color = "white": change la couleur du texte. Ici, vous utilisez la couleur blanche.
  • size = 3: définit la taille du texte.

Production:

Résumé

Un graphique à barres est utile lorsque l'axe des x est une variable catégorielle. L'axe des y peut être un décompte ou une statistique récapitulative. Le tableau ci-dessous résume comment contrôler le graphique à barres avec ggplot2:

Objectif

code

Compter

ggplot(df, eas(x= factor(x1)) + geom_bar()

Comptez avec une couleur de remplissage différente

ggplot(df, eas(x= factor(x1), fill = factor(x1))) + geom_bar()

Compter avec les groupes, empilés

ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge())

Comptez avec les groupes, côte à côte

ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar()

Compte avec groupes, empilé en%

ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge())

Valeurs

ggplot(df, eas(x= factor(x1)+ y = x2) + geom_bar(stat="identity")