【问题标题】:tkplot in html with knitr带有knitr的html中的tkplot
【发布时间】:2013-10-18 15:17:52
【问题描述】:

我正在尝试通过knitr 包将igraph 包中的tkplot 包含在HTML(从Rmd 编​​织)文档中。我问了一个关于乳胶的非常相似的问题(应该更难)here。一辉回答,但我不能把那个钩子和学习转移到这种情况下。如何使用 knitr 中的 Rmd 文件将以下 tkplot 嵌入 HTML 文档中?

```{r setup, include=FALSE}
library(igraph)
library(tcltk)
```


```{r}
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)
```

【问题讨论】:

  • 关键是要获取一个网页浏览器可以识别的plot,比如png图片。我认为有多种方法可以到达那里,例如(1)不要使用tkplot()(我想这不是igraph中唯一的绘图功能); (2) rglplot() 与 knitr 中的 hook_rgl? (3)将tkplot()导出的postscript图片转换成png? ...我会把它留给其他人来破解。

标签: r knitr igraph tkplot


【解决方案1】:

没那么吸引人,但听从一辉的建议:

```{r setup, include=FALSE}
library(igraph)
library(rgl)

knit_hooks$set(
    webgl = hook_webgl

)
```


```{r, webgl=TRUE, fig.width=12, fig.height=12}
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)
rglplot(g)
```

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    • 2014-10-01
    • 2018-02-03
    相关资源
    最近更新 更多