如何使用Sweave和xtable创建彩色表?[关闭]


17

我正在使用Sweave和xtable生成报告。

我想在桌子上添加一些颜色。但是我还没有找到任何用xtable生成彩色表的方法。

还有其他选择吗?


什么是彩色桌子?具有彩色背景的单元格?单元格文字颜色不同?在最后一种情况下,解决方案可能是使用适当的tex命令包装这些值。
mpiktas 2011年

我需要一行的背景为特定颜色。我必须重写xtable函数吗?
RockScience 2011年

1
xtable已经被重写(或者预先写好)作为胶乳在R包Hmisc功能。就个人而言,我发誓要让它看起来合适。我没有检查它是否有空间容纳下面描述的奇特的插入技巧,但如果没有,我会感到惊讶。
共轭

@Conjugate你是对的,尽管它不像我想象的那么简单。我已根据您的建议更新了我的回复。
chl

@chl“不简单”是一种轻描淡写的说法。该功能是一种野兽,尽管功能非常强大。
共轭

Answers:


20

\rowcolor\rowcolorsadd.to.rowprint.xtable()list大号一种ŤËX

似乎与colortbl包一起工作。所以像这样

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

给我

在此处输入图片说明

(这是一个自定义的Beamer模板,但是它应与标准文档一起使用。使用Beamer,您可能需要table在加载程序包时添加该选项。)

更新:

ŤËXlatex()

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.