【发布时间】:2012-12-21 16:28:28
【问题描述】:
我正在使用 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 文件时,我想加入以下功能: 单击每个图的标题时,我希望有一个链接(例如到数据库)。 这有可能吗?
谢谢
【问题讨论】:
-
请注意,这并不是一个真正的 knitr 问题 - 必须在 PDF(或您使用的任何图像格式)中添加超链接,这必须由 ggplot2(和我还没有发现任何说这个功能存在的东西)。
-
您是否考虑过在 HTML 中制作一个 2x2 表格,并在每个单元格中放置一个图形,而不是使用 grid.arrange?
-
这有什么不同吗?我仍然会遇到为该图分配链接的问题..,不是吗?
-
如果你这样做了,你可以用原始 HTML 编写链接,而不是需要在图中。如果问题在于链接依赖于 R 中的信息,您可以在编写链接时使用 \Sexpr 从 R 中获取所需的任何变量。 (值得注意的是,如果您的图形的尺寸是通过编程方式确定的——也就是说,如果它有时是 2x3 或有时是 3x4,这将不起作用)
-
我明白你的意思...我会考虑的。可能是一种开始方式(但图形的尺寸确实是通过程序确定的......)