Come creare tavoli colorati con Sweave e xtable? [chiuso]


17

Sto usando Sweave e xtable per generare un rapporto.

Vorrei aggiungere un po 'di colorante su un tavolo. Ma non sono riuscito a trovare alcun modo per generare tabelle colorate con xtable.

C'è qualche altra opzione?


qual è il tavolo colorato? Celle con sfondo colorato? Il testo della cella ha un colore diverso? Nell'ultimo scenario, la soluzione potrebbe includere i valori con i comandi tex appropriati.
mpiktas,

Ho bisogno che lo sfondo di una riga sia di un colore specifico. Devo riscrivere una funzione xtable?
RockScience

1
xtable è già stato riscritto (o forse pre-scritto) come funzione latex nel pacchetto R Hmisc. Personalmente lo giuro per tavoli dall'aspetto adeguato. Non ho verificato se ha spazio per il trucco di inserimento descritto di seguito, anche se sarei sorpreso in caso contrario.
coniugato

@Conjugate Hai ragione, anche se non è così semplice come avrei pensato; Ho aggiornato la mia risposta con il tuo suggerimento.
chl

@chl 'non semplice' è un eufemismo. Quella funzione è una bestia, sebbene molto capace.
conjugateprior

Risposte:


20

\rowcolor\rowcolorsadd.to.rowprint.xtable()listLUNTEX

Sembra funzionare, con il colortblpacchetto. Quindi qualcosa del genere

<<result=tex>>
library(xtable)
m <- matrix(sample(1:10,10), nr=2)
print(xtable(m), add.to.row=list(list(1),"\\rowcolor[gray]{.8} "))
@

mi da

inserisci qui la descrizione dell'immagine

(Questo è un modello Beamer personalizzato, ma dovrebbe funzionare con un documento standard. Con Beamer, probabilmente vorrai aggiungere l' tableopzione durante il caricamento del pacchetto.)

Aggiornare:

TEXlatex()

library(Hmisc)
## print the second row in bold (including row label)
form.mat <- matrix(c(rep("", 5), rep("bfseries", 5)), nr=2, byrow=TRUE)
w1 <- latex(m, rownamesTexCmd=c("","bfseries"), cellTexCmds=form.mat, 
            numeric.dollar=FALSE, file='/tmp/out1.tex')
w1  # call latex on /tmp/out1.tex
## highlight the second row in gray (as above)
w2 <- latex(m, rownamesTexCmd=c("","rowcolor[gray]{.8}"), 
            numeric.dollar=FALSE, file='/tmp/out2.tex')
w2
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.