Colorier tables de sortie

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

Julien Balicchi
Messages : 44
Enregistré le : 05 Juil 2010, 11:13

Colorier tables de sortie

Messagepar Julien Balicchi » 11 Juil 2011, 12:59

Bonjour, mon programme fait divers calculs et à la fin imprime en format txt la table regroupant tous ces calculs dans diverses colonnes.

Ce que j'aimerais savoir c'est par exemple: mettre en gras les noms des colonnes et colorier cette ligne en gris, mettre certains colonnes en couleur.

Est-ce possible et quel fonction je dois aller voir pour pouvoir faire ça?

En vous remerciant d'avance!

Dominique Soudant
Messages : 758
Enregistré le : 23 Avr 2008, 11:12
Contact :

Messagepar Dominique Soudant » 11 Juil 2011, 13:25

package ODFweave, ou Sweave ou Sword
Générer du HTML

Julien Balicchi
Messages : 44
Enregistré le : 05 Juil 2010, 11:13

Messagepar Julien Balicchi » 11 Juil 2011, 15:22

Merci :D

Julien Balicchi
Messages : 44
Enregistré le : 05 Juil 2010, 11:13

Messagepar Julien Balicchi » 05 Aoû 2011, 13:31

Une question à tout hasard, en fait l'idéal serait pour moi de pouvoir importer ma table de résultat ainsi que les codes couleurs des colonnes sous du format Excel, est ce que la fonction xlsReadWrite peut satisfaire cet objectif? j'ai lu sur ce topic: viewtopic.php?t=2019 qu'elle souffrait de bugs, est-ce toujours le cas 2 ans aprés?

En effet mon souci quand à l'importation de mes données sous ODF ou PDF c'est que j'ai des tables avec une vingtaine de colonnes parfois et logiquement ça devrait dépasser du champs contrairement à une sortie Excel...

En vous remerciant d'avance!

Julien Balicchi
Messages : 44
Enregistré le : 05 Juil 2010, 11:13

Messagepar Julien Balicchi » 09 Aoû 2011, 15:52

J'essai de me lancer dans le package Sweave et je galère un peu, quelqu'un aurait sous le coude un bout de code qui permet d'imprimer une table en html avec juste un exemple de colonnes ou de lignes en couleurs?

Je viens de parcourir les exemples et quand j'essai ça marche pas, alors je me doute bien que j'ai mal compris l'utilisation de la fonction Sweave, personne ne saurait où je peux trouver de la doc bien expliquée?

En vous remerciant d'avance...

Pierre COLIN
Messages : 350
Enregistré le : 03 Juil 2011, 11:04

Messagepar Pierre COLIN » 10 Aoû 2011, 07:58

le package R2HTML peut peut-etre t'aider (jamais utilisé)

matthieu faron
Messages : 586
Enregistré le : 16 Fév 2011, 11:23

Messagepar matthieu faron » 10 Aoû 2011, 08:33

Je pense pas que ça réponde complétement à ta question, mais voici un exemple qui marche en Sweave pour Latex qui colorie une colonne et une ligne en jaune (en repartant de l'exemple de xtable):

Code : Tout sélectionner

> data(tli)

> tli.table <- xtable(tli[1:20,], align = c(" c ", " >{ \\columncolor{yellow}} c <{} ", " c ", " c ", " c ", " c "))

> print(tli.table, add.to.row=list(pos = list(4), command = "\\rowcolor{yellow}"))


% latex table generated in R 2.13.1 by xtable 1.5-6 package
% Wed Aug 10 10:27:50 2011
\begin{table}[ht]
\begin{center}
\begin{tabular}{ c  >{ \columncolor{yellow}} c <{}  c  c  c  c }
  \hline
 & grade & sex & disadvg & ethnicty & tlimth \\
  \hline
1 &   6 & M & YES & HISPANIC &  43 \\
  2 &   7 & M & NO & BLACK &  88 \\
  3 &   5 & F & YES & HISPANIC &  34 \\
  4 &   3 & M & YES & HISPANIC &  65 \\
   \rowcolor{yellow}5 &   8 & M & YES & WHITE &  75 \\
  6 &   5 & M & NO & BLACK &  74 \\
  7 &   8 & F & YES & HISPANIC &  72 \\
  8 &   4 & M & YES & BLACK &  79 \\
  9 &   6 & M & NO & WHITE &  88 \\
  10 &   7 & M & YES & HISPANIC &  87 \\
  11 &   3 & M & NO & WHITE &  79 \\
  12 &   6 & F & NO & WHITE &  84 \\
  13 &   8 & M & NO & WHITE &  90 \\
  14 &   5 & M & NO & WHITE &  73 \\
  15 &   8 & F & NO & WHITE &  72 \\
  16 &   6 & F & NO & BLACK &  82 \\
  17 &   4 & M & NO & WHITE &  69 \\
  18 &   3 & F & YES & HISPANIC &  17 \\
  19 &   3 & M & NO & HISPANIC &  37 \\
  20 &   5 & M & NO & WHITE &  70 \\
   \hline
\end{tabular}
\end{center}
\end{table}


Globalement le principe est de coller du code Latex (je ne sais pas comment le faire en HTML) dans les en têtes de colonne ou dans les début de ligne ou dans les cellules.

Comme tous les arguments sont passés par des fonctions il est possible de ne le faire que sous conditions pour certaines valeurs.
Exemple pour les lignes l'argument "pos" peut être le résultat d'un which(x > 0) etc....

Globalement l'investissement temporel parait assez important pour que toutes la mise en page se fasse bien de façon automatique.

Peut être qu'une macro excel pourrait faire l'affaire aussi si les conditions de coloriage reste simple....
Matthieu FARON

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 10 Aoû 2011, 09:11

Pour avoir la table formatée en HTML, il suffit d'indiquer type = "html" dans print.xtable

Code : Tout sélectionner

data(tli)
library(xtable)
tli.table <- xtable(tli[1:20,],
                    align = c(" c ", " >{ \\columncolor{yellow}} c <{} ", " c ", " c ", " c ", " c "))
print(tli.table, type = "html", add.to.row=list(pos = list(4), command = "\\rowcolor{yellow}"))
Renaud

matthieu faron
Messages : 586
Enregistré le : 16 Fév 2011, 11:23

Messagepar matthieu faron » 10 Aoû 2011, 09:18

Oui, mais le code HTML pour colorier la ligne est différent du code Latex.

D'après ce que j'ai vu il se met à l'intérieur de la balise qui commence la ligne (genre <TD color ="yellow"> toto </TD>) et pas en début de ligne ou à l’intérieur de la cellule comme ici pour le Latex. (ce qui permet de coller la commande latex dans la cellule avant d'exporter la table).

Même problème pour les colonnes.... mais je ne suis pas vraiment spécialiste du HTML
Matthieu FARON

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 10 Aoû 2011, 17:28

matthieu faron a écrit :Oui, mais le code HTML pour colorier la ligne est différent du code Latex.


Oui désolé pour la réponse incomplète. Effectivement regarder du côté de R2HTML. Possible aussi que odfWeave ait plus de possibilités que Sweave sur ce plan.
Renaud


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 0 invité

cron