la fonction tableGrob - affichage du titre

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

Sarah Benmarhnia
Messages : 2
Enregistré le : 04 Mai 2016, 07:17

la fonction tableGrob - affichage du titre

Messagepar Sarah Benmarhnia » 04 Mai 2016, 16:02

Bonjour,

je cherche à faire une fonction qui renvoie un tri à plat dans un fichier pdf. Je voulais avoir le tri à plat dans un tableau avec pour titre le label de la variable. C'est pour cela que j'utilise la fonction tableGrob du package gtable comme ceci :


Code : Tout sélectionner

 library(gridExtra)
library(grid)
library(gtable)

tri.plat <- function(variable){
   tab.f <- wtd.table(variable,weights=don$Weight)
   tab.f <-tab.f[[2]]
   tab.t <- prop.table(tab.f)
   tab.t <- round(tab.t,4)*100
   tab <- cbind("Pourcentage"=tab.t,"Effectifs"=round(tab.f,0))
   tab <- addmargins(tab,1)
   rownames(tab)[nrow(tab)]<-"Total"
      lab<-label(variable)
   grid.newpage()
   
   t1 <- tableGrob(tab)
   title <- textGrob(lab,gp=gpar(fontsize=12))
   padding <- unit(5,"cm")
   title <- textGrob(lab,gp=gpar(fontsize=12))
   
   table <- gtable_add_rows(t1,
                            heights = grobHeight(title)+padding
                            ,pos = 0)
   table <- gtable_add_grob(table, title,1,1,1,1)
      grid.draw(table)

   return(grid)
 }


Ensuite j'écris le résultat de cette fonction pour plusieurs variable de mon data-frame "data" dans un fichier pdf :

Code : Tout sélectionner

 

 pdf("tri.pdf")
 for(i in 1:3){
 tri.plat(data[,i])
 }
 dev.off 



ça marche ! Mais j'ai deux problèmes :

1 - quand le label de la variable est trop long, il est coupé. On ne le voit pas en entier. Je voudrais qu'il passe automatiquement à la ligne quand il n'a pas la place de se mettre dans la fenêtre graphique.

2- quand le tableau est plus grand que la fenêtre graphique, il est coupé.


Avez-vous une solution pour forcer le titre à rentrer dans la fenêtre graphique ?

Merci

Retourner vers « Questions en cours »

Qui est en ligne

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