@[TOC](HTML widgets cannot be represented in plain text (need html))
最近发现在vscode中使用DT包报错,html不能展示
在stackoverflow上找到了类似的问题
其中给出来如下解决方案
下载如下包:
install.packages("htmlwidgets")
然后使用如下代码
library(IRdisplay)
htmlwidgets::saveWidget(m, "m.html")
display_html('<iframe src="m.html" width=100% height=450></iframe>')
其中m是你要展示的东西,这是后会生成一个html文件,如果你不想生成html使用如下代码
rawHTML = base64enc::dataURI(mime = "text/html;charset=utf-8", file = "m.html")
display_html(paste("<iframe src=", rawHTML, "width=100% height=450></iframe>", sep = "\""))
unlink("m.html")
最后原回答者将其整合为了函数
embed = function(x, height) {
library(IRdisplay)
tmp = tempfile(fileext = ".html")
htmlwidgets::saveWidget(x, tmp)
rawHTML = base64enc::dataURI(mime = "text/html;charset=utf-8", file = tmp)
display_html(paste("<iframe src=", rawHTML, "width=100% height=", height, "id=","igraph", "scrolling=","no","seamless=","seamless", "frameBorder=","0","></iframe>", sep = "\""))
unlink(tmp)
}
我的使用效果
在这里插入图片描述