Ajouter des labels et faire une rotation du texte de l'axe des abscisses dans le package lattice

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

Lisa Marasca
Messages : 9
Enregistré le : 10 Avr 2020, 10:18

Ajouter des labels et faire une rotation du texte de l'axe des abscisses dans le package lattice

Messagepar Lisa Marasca » 22 Avr 2020, 08:29

Bonjour,

Je possède un graphe représentant le NODU en fonction du segment d'utilisation selon 5 années. J'ai utilisé le script suivant :

Code : Tout sélectionner

Segment.d.utilisation<-c("a","a","b","b","c","c")
Année <-c("2014","2015","2014","2015","2014","2015")
NODU <- c("25","34","45","66","56","18")
NODU<-as.numeric(as.character(NODU))
NODU_segment<-data.frame(Segment.d.utilisation,Année,NODU)

library(lattice)

barchart(NODU ~ Segment.d.utilisation,groups=Année,horizontal=FALSE,auto.key=list(space="right", columns=1, title="Année") ,
         xlab="Segment d'utilisation",ylab="NODU",main="NODU en fonction du segment d'utilisation et du temps", par.settings=ggplot2like(),
         panel=function(x,y,...){
           panel.barchart(x,y,...)
          panel.grid(h = -1, v = 0,col.line="red",lty=3)})


Je souhaite désormais y ajouter des labels, j'ai donc voulu ajouter une ligne de code :

Code : Tout sélectionner

barchart(NODU ~ Segment.d.utilisation,groups=Année,horizontal=FALSE,auto.key=list(space="right", columns=1, title="Année") ,
         xlab="Segment d'utilisation",ylab="NODU",main="NODU en fonction du segment d'utilisation et du temps", par.settings=ggplot2like(),
         panel=function(x,y,...){
           panel.barchart(x,y,...)
           ltext(NODU_segment$Segment.d.utilisation,NODU_segment$NODU,label=NODU_segment$NODU, cex=0.5,origin="H",rot=45)
          panel.grid(h = -1, v = 0,col.line="red",lty=3)})
 


La fonction ltext me permet d'afficher les labels mais ils sont empilés les uns au dessus des autres au lieu de se mettre chacun au dessus de la barre correspondante, auriez-vous une solution ?
Aussi, je voudrais mettre en place une rotation du texte de l'axe des abscisses et rien ne se passe malgré plusieurs tentatives. Auriez-vous un code à me suggérer ?

Merci d'avance,
Bonne journée,
Lisa.

Fred Santos
Messages : 233
Enregistré le : 11 Avr 2009, 10:00
Contact :

Re: Ajouter des labels et faire une rotation du texte de l'axe des abscisses dans le package lattice

Messagepar Fred Santos » 22 Avr 2020, 09:36

Bonjour,
Même remarque que Mickael pour votre précédente question : viewtopic.php?p=46308#p46308

Lisa Marasca
Messages : 9
Enregistré le : 10 Avr 2020, 10:18

Re: Ajouter des labels et faire une rotation du texte de l'axe des abscisses dans le package lattice

Messagepar Lisa Marasca » 22 Avr 2020, 10:07

En effet désolée, j'ai omis les premières lignes de code, je les ai ajoutées dans le premier message modifié.

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

Re: Ajouter des labels et faire une rotation du texte de l'axe des abscisses dans le package lattice

Messagepar Logez Maxime » 22 Avr 2020, 13:56

Bonjour,

en lattice je ne sais pas faire mais puisque tu souhaites avoir un graph qui ressemble à celui obtenu avec ggplot2 :

Code : Tout sélectionner

ggplot(NODU_segment, aes(x = Segment.d.utilisation, y = NODU, color = Année, fill = Année)) +
  geom_col(position = "dodge") +
  geom_text(label = NODU, position = position_dodge(width = 0.75), vjust = -0.75)
Cordialement,
Maxime

Lisa Marasca
Messages : 9
Enregistré le : 10 Avr 2020, 10:18

Re: Ajouter des labels et faire une rotation du texte de l'axe des abscisses dans le package lattice

Messagepar Lisa Marasca » 23 Avr 2020, 07:38

Merci pour ton aide :)

Lisa.


Retourner vers « Questions en cours »

Qui est en ligne

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