一个输出与R的网格图形兼容的HTML grobs的库?

时间:2013-07-09 01:18:24

标签: r knitr r-grid

我喜欢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替换下面的一个空矩形凹槽。

chart_grob

谢谢!

1 个答案:

答案 0 :(得分:3)

“HTML grob”的含义并不清楚。代码中没有HTML格式的对象。当然,有些函数可以生成HTML,您可以将该文本发送到grid.text调用并显示HTML。但是,我担心你打算让一些包显示HTML浏览器,就像格式化表一样。 Hmisc中的html函数将其输出发送到真实的浏览器。 Hmisc中的latex用于显示。 'gridExtra'中的tableGrob函数不会将HTML作为格式规范。您可以通过检查代码并在xtable包中尝试xtableprint.xtable来获得更多信息,因为它能够提供HTML输出。您还可以浏览'Hmisc'中的latexTabular函数或'tables'包中的tabular函数。