我喜欢Yihui的knitr包,我从the tutorials知道它可以把R放到html文件中。我想转向其他方式 - 我想将一些html放入网格图形对象中。这可能在knitr或任何其他图书馆吗?具体来说,我正在寻找一种方法:
使用HTML格式化文本(主要是基本的css和表格)
将其包裹在grob
使用网格图形排列/插入grob,将其与其他grob(ggplot图表等)结合使用
我在knitr列表上搜索并查看了网格图形。它有一个textGrob函数,但格式化选项不够强大,无法满足我的需求。有一个问题in the ballpark,但不包括我正在寻找的内容。这是一个愚蠢的可重复的例子,模仿我的真实文档的结构。
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替换下面的一个空矩形凹槽。
谢谢!
答案 0 :(得分:3)
“HTML grob”的含义并不清楚。代码中没有HTML格式的对象。当然,有些函数可以生成HTML,您可以将该文本发送到grid.text
调用并显示HTML。但是,我担心你打算让一些包显示HTML浏览器,就像格式化表一样。 Hmisc中的html
函数将其输出发送到真实的浏览器。 Hmisc中的latex
用于显示。 'gridExtra'中的tableGrob
函数不会将HTML作为格式规范。您可以通过检查代码并在xtable包中尝试xtable
和print.xtable
来获得更多信息,因为它能够提供HTML输出。您还可以浏览'Hmisc'中的latexTabular
函数或'tables'包中的tabular
函数。