HTML widgets cannot be represented in plain text (need html)

@[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)
}

我的使用效果
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_54423921/article/details/130460323