彩色打印R标记html

时间:2016-08-24 02:27:04

标签: r markdown r-markdown

我想知道有没有办法强制网页浏览器以颜色打印r mark html。它可以通过编辑bootstrap文件来实现,但我想知道它是否可以在markdown文件中完成。

可重复示例:

test.Rmd

---
title: "Habits"
output:
  html_document
---

```{r, echo = FALSE}

df <- data.frame(
  id = 1:10,
  name = c("Bob", "Ashley", "James", "David", "Jenny", 
    "Hans", "Leo", "John", "Emily", "Lee"), 
  age = c(28, 27, 30, 28, 29, 29, 27, 27, 31, 30),
  grade = c("C", "A", "A", "C", "B", "B", "B", "A", "C", "C"),
  test1_score = c(8.9, 9.5, 9.6, 8.9, 9.1, 9.3, 9.3, 9.9, 8.5, 8.6),
  test2_score = c(9.1, 9.1, 9.2, 9.1, 8.9, 8.5, 9.2, 9.3, 9.1, 8.8),
  final_score = c(9, 9.3, 9.4, 9, 9, 8.9, 9.25, 9.6, 8.8, 8.7),
  registered = c(TRUE, FALSE, TRUE, FALSE, TRUE, TRUE, TRUE, FALSE, FALSE, FALSE),
  stringsAsFactors = FALSE)

```

``` {r, eval = TRUE, echo = FALSE, results='asis'}

library(formattable)

format_table(df, list(
  age = color_tile("white", "orange"),
  grade = formatter("span",
    style = x ~ ifelse(x == "A", style(color = "green", font.weight = "bold"), NA)),
  final_score = formatter("span",
    style = x ~ style(color = ifelse(rank(-x) <= 3, "green", "gray")),
    x ~ sprintf("%.2f (rank: %02d)", x, rank(-x))),
  registered = formatter("span", 
    style = x ~ style(color = ifelse(x, "green", "red")),
    x ~ icontext(ifelse(x, "ok", "remove"), ifelse(x, "Yes", "No")))
))

```

HTML输出表在浏览器中如下所示: HTML output

当我尝试打印时,它变成如下: enter image description here

1 个答案:

答案 0 :(得分:0)

这是[https://stackoverflow.com/users/4497050/alistaire]提到的浏览器选项。彩色打印的最佳方式是将shinyapp的HTML页面保存为PDF,然后从PDF打印。

enter image description here