使用knitr(从.Rhtml到html):如何在R图中嵌入链接?

时间:2012-12-21 16:28:28

标签: html r ggplot2 knitr

我正在使用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文件时,我希望合并以下功能: 我想点击每个图的标题时有一个链接(例如数据库)。 这有可能吗?

THX

1 个答案:

答案 0 :(得分:5)

这并不能完全回答你的问题,但它可能会让你或其他人开始全面回答。

Paul Murrel的gridSVG package(另请参阅this useful pdf doc)允许添加指向网格的SVG图形的超链接。 (理论上它应该适用于 ggplot2 ;在实践中我只是使用 lattice )。 current issue of the R Journal包含一些文章("What's in a name?""Debugging grid graphics." - 警告: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")