6

我正在使用 knit 将我的 .Rhtml 文件转换为 .html 文件。我正在调用一个名为 Q1 的块的输出:

<!--begin.rcode Q1,echo=FALSE,fig.show="all",fig.align="center",warning=FALSE 
end.rcode--> 

块来了,它基本上是一个 2x2 布局的 ggplot2 图形。

library(ggplot2)
myplot = list()
   for (i in 1:4){
          x = 1:100
          y = sample(100,100)
          data = data.frame(x=x,y=y)
          myplot[[i]] = ggplot(data,aes(x=x,y=y))+geom_point()+labs(title="bla")}

do.call(grid.arrange,c(myplot,list(nrow=2,ncol =2)))

现在,在查看生成的 html 文件时,我想加入以下功能:单击每个图的标题时,我想有一个链接(例如到数据库)。这有可能吗?

谢谢

4

1 回答 1

5

这并不能完全回答您的问题,但它可能会让您或其他人开始获得完整的答案。

Paul Murrel 的gridSVG(另请参见这个有用的 pdf 文档)允许将超链接添加到基于网格的 SVG 图形。(理论上它应该与ggplot2一起使用;在实践中,我刚刚让它与lattice一起使用)。当前一期的 R 期刊包括几篇文章(“名字里有什么?”“调试网格图形。” ——警告:pdfs),它们可能会帮助您最好地设计动态搜索,以查找您要访问的 grob 的名称'想添加一个链接(如我的第二行代码)。

library(gridSVG)
library(lattice)

xyplot(mpg~wt, data=mtcars, main = "Link to R-project home")
mainGrobName <- grep("main", grid.ls()[[1]], value=TRUE)
grid.hyperlink(mainGrobName, "http://www.r-project.org")
gridToSVG("HyperlinkExample.svg")
于 2012-12-21T18:05:01.100 回答