我喜欢一辉的 knitr 包,从教程中我知道它可以将 R 放入 html 文档中。我想另辟蹊径——我想将一些 html 放入网格图形对象中。这在 knitr 或任何其他库中是否可行?具体来说,我正在寻找一种方法:
使用 HTML 设置文本样式(主要是基本的 CSS 和表格)
把它包起来
使用网格图形排列/插入 grob,将其与其他 grobs(ggplot 图表等)结合使用
我搜索了 knitr 列表并查看了网格图形。它有一个 textGrob 功能,但格式化选项对于我正在寻找的内容不够强大。有一个 SO question在球场上,但没有涵盖我正在寻找的内容。这是一个愚蠢的可重现示例,它模仿了我的真实文档的结构。
library(gridExtra)
#minimal valid object
rect = rectGrob()
text1 <- textGrob(
label = "textGrobs let you write text"
,x = unit(0.5, "npc"), y = unit(0.5, "npc")
,just = "centre"
,gp = gpar(col = "black", fontsize = 12)
)
text2 <- textGrob(
label = "but is there a graphics object that takes HTML?"
,x = unit(0.5, "npc"), y = unit(0.5, "npc")
,just = "centre"
,gp = gpar(col = "black", fontsize = 12)
)
#first split the box
top_box <- arrangeGrob(text1, text2, ncol = 2)
#put that together into a column
left_column <- arrangeGrob(
top_box, rect, rect
,nrow = 3
,heights = c(1, 2, 2)
)
grid.arrange(left_column, rect, widths = c(4/5, 1/5), ncol = 2)
我想用一些带有 HTML 的文本替换下面那些空的矩形 grobs 之一。
谢谢!