Fonction somme pour un ggplot

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Sylvain Gaudin
Messages : 25
Enregistré le : 10 Jan 2017, 06:41

Fonction somme pour un ggplot

Messagepar Sylvain Gaudin » 09 Déc 2022, 08:50

Bonjour,

J'essaye de faire un graphique en barre qui fait la somme de données par année.

Mes données sont de la forme :

Code : Tout sélectionner

Annee <- as.factor(c(2020,2020,2021,2021,2022,2022,2022))
Nombre <- as.numeric(c(1,8,1,1,1,2,3))
Photo <- data.frame(Annee,Nombre)


Avec le code suivant :

Code : Tout sélectionner

library(ggplot2)
ggplot(data = Photo, aes(x = Annee))+
  geom_bar(fill="darkred")


J'obtiens un graphique qui me donne le nombre d'occurrences par année, mais pas la somme par année (2020 = 9, 2021 = 2, 2022 = 6). J'ai essayé plusieurs méthodes pour faire réaliser cette somme stat_function, stat=, etc. mais en vain.

Merci pour votre aide.

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Re: Fonction somme pour un ggplot

Messagepar Logez Maxime » 09 Déc 2022, 14:26

Bonjour,

Code : Tout sélectionner

library(ggplot2)
ggplot(data = Photo, aes(x = Annee, weight = Nombre))+
  geom_bar(fill="darkred")
Cordialement,
Maxime

Maxime Deniaux
Messages : 70
Enregistré le : 11 Fév 2022, 22:49
Contact :

Re: Fonction somme pour un ggplot

Messagepar Maxime Deniaux » 09 Déc 2022, 15:09

Bonjour Sylvain,

la méthode de...Maxime (l'autre ;p) fonctionne évidemment mais voici une autre méthode si cela vous intéresse.

Code : Tout sélectionner

library('dplyr')
library('ggplot2')

Photo %>% group_by(Annee) %>% summarise(Nombre = sum(Nombre)) %>%
ggplot(aes(x = Annee, y = Nombre))+
  geom_bar(fill="darkred",stat = "identity")


Le code :

Code : Tout sélectionner

Photo %>% group_by(Annee) %>% summarise(Nombre = sum(Nombre))


permet de modifier votre dataframe Photo afin d'avoir les données finales que vous souhaitez. C'est-à-dire :

(2020 = 9, 2021 = 2, 2022 = 6)
.

Ensuite, il vous suffit de faire votre ggplot, qui est maintenant peut-être plus intuitif avec cette nouvelle table Photo (?), d'où ma proposition.

Bonne fin de journée !

Sylvain Gaudin
Messages : 25
Enregistré le : 10 Jan 2017, 06:41

Re: Fonction somme pour un ggplot

Messagepar Sylvain Gaudin » 09 Déc 2022, 16:21

Un grand merci aux Maxime ! Gratias maximas !

Effectivement, j'avais pensé à synthétiser les données en passant par dplyr, mais il me semblait qu'il y avait une méthode directe en utilisant uniquement ggplot (mais j'étais très loin du compte).

Bien cordialement


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité

cron