【问题标题】:R, knitr, xtable, alternating row colorsR,knitr,xtable,交替行颜色
【发布时间】:2013-05-10 21:09:34
【问题描述】:

我正在尝试在 R 中使用 knitr 和交替的行颜色生成一个带有 xtable 的表格。我可以在 PDF 输出中打印一个表格,但不能完全弄清楚 xtable 手册中的 add.to.row 命令以及 colortbl 包。

【问题讨论】:

标签: r colors knitr xtable


【解决方案1】:

此图是使用底部的代码生成的。我希望你不会因为检测到浅灰色而伤到眼睛(我几乎有,在我的一个屏幕上)。

library(xtable)
mydf <- data.frame(id = 1:10, var1 = rnorm(10), var2 = runif(10))
rws <- seq(1, (nrow(mydf)-1), by = 2)
col <- rep("\\rowcolor[gray]{0.95}", length(rws))
print(xtable(mydf), booktabs = TRUE,
      add.to.row = list(pos = as.list(rws), command = col))

关键是定义行索引 (rws) 和它们各自的颜色 (col)。如果您希望行之间的颜色不同,则需要使用paste

\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[english]{babel}
\usepackage{booktabs}
\usepackage{colortbl, xcolor}

\begin{document}

<<do_table, results = "asis">>=
library(xtable)
mydf <- data.frame(id = 1:10, var1 = rnorm(10), var2 = runif(10))
rws <- seq(1, (nrow(mydf)), by = 2)
col <- rep("\\rowcolor[gray]{0.95}", length(rws))
print(xtable(mydf), booktabs = TRUE, 
   add.to.row = list(pos = as.list(rws), command = col))
@

\end{document}

【讨论】:

  • 你对灰码高亮的解释:相差一个十六进制数字的阴影?
  • @baptiste 恐怕我不明白这个问题。我对颜色的选择没有特别的动机。我只是或多或少地随机挑选了一些东西,因为它仅用于说明目的。
  • 您好 Roman,感谢您的代码!我知道那是几年前的事了,但你知道如何让颜色从第一行开始吗?只需从 0 开始序列就会给我一个黑色方块。
  • @panuffel 复制我的代码,打开一个新问题,展示您尝试过的内容,然后查看解决方案。 :)
猜你喜欢
  • 1970-01-01
  • 2021-06-04
  • 1970-01-01
  • 1970-01-01
  • 2012-07-17
  • 2015-07-30
  • 1970-01-01
  • 2021-12-17
  • 2013-09-28
相关资源
最近更新 更多