【发布时间】:2012-10-10 01:37:23
【问题描述】:
这可能是一个疯狂的奇怪梦想。我梦想我可以通过knitr 将igraph 中的tkplot 放入乳胶文档中。我知道一辉是知道动画的,所以我想也许这是可能的。谷歌搜索没有显示我所追求的,所以这是一个无效的尝试:
\documentclass[a4paper]{scrartcl}
\begin{document}
<<setup, include=FALSE, cache=FALSE>>=
library(igraph)
@
<<network>>=
edges <- structure(c("A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "A", "B", "C",
"D", "E", "F", "G", "H", "I", "J", "E", "G", "G", "F", "H", "G",
"D", "J", "J", "D", "B", "C", "D", "I", "I", "H", "A", "B", "G",
"I", "F", "D", "F", "J", "D", "B", "E", "E", "A", "E"), .Dim = c(30L,
2L), .Dimnames = list(NULL, c("person", "choice")))
g <- graph.data.frame(edges, directed=TRUE)
tkplot(g)
@
\end{document}
【问题讨论】:
-
应该可以,但是我没有足够的时间写答案;关键是在块挂钩中调用
tkplot.export.postscript;看看我是如何定义hook_rgl来捕捉 rgl 图的:github.com/yihui/knitr/blob/master/R/hooks-extra.R -
@Yihui 感谢您的回复。 hook_rgl 是快照还是 pdf 输出中嵌入的动画?
-
请问您为什么要这样做?
tkplot比简单的plot有什么额外的功能?如果这就是你想要的,你可以制作plot()的背景。 :) -
@Gabor 可以操纵 tkplot。即它是准动画的。
-
@TylerRinker 我明白了。这确实很酷!看这个:tinyurl.com/7ae3awm底部是PDF,需要Adobe Reader。这不适用于
tkplot(),因为在 PDF AFAIK 中不支持 Tcl/Tk。但是,将类似的东西放在一起可能并不难,只需使用 JavaScript 在 3d 中查看和飞越网络。如果你想单独移动顶点/边,那就更难了,你需要在 JavaScript 中重新实现tkplot()。您可以在此处提交功能请求::) bugs.launchpad.net/igraph