gpt4 book ai didi

r - 将图像添加到 R 中的数据表

转载 作者:行者123 更新时间:2023-12-04 14:23:12 28 4
gpt4 key购买 nike

我正在尝试将图像添加到 R 格式的数据表 DT包裹。我发现这个问题:How to embed an image in a cell a table using DT, R and Shiny它适用于在线图像。但是,当我尝试添加我在本地拥有的图像(使用 R 创建)时,它只是没有出现。这是我的问题的一个例子:

x = rnorm(1000)   
png(paste0("Graficas/test.png"))
Plot = plot(x, type = "l")
dev.off()
camino = '<img src="Graficas/test.png" height="30"></img>'
data = data.frame(0.5,camino)
datatable(data, escape = FALSE)

输出为 enter image description here

我不明白为什么会这样

最佳答案

这是一种方法(通过嵌入 base64 编码图像并将其用于 src )。

首先我们要做一个小 helper :

img_uri <- function(x) { sprintf('<img src="%s"/>', knitr::image_uri(x)) }

这将使我们制作一个 data uri 。我们将整个文件打包并转换为 base64,然后在将整个 blob 粘贴到 src 属性之前进行更多的格式化。

这是 1x1 像素的 PNG 以这种方式编码的样子:
<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEX/TQBcNTh/AAAAAXRSTlPM0jRW/QAAAApJREFUeJxjYgAAAAYAAzY3fKgAAAAASUVORK5CYII=\"/>

所以,我们只是对你创建的那个做同样的事情:
x = rnorm(1000)   
png(paste0("test.png"))
Plot = plot(x, type = "l")
dev.off()

camino = img_uri("test.png")
data = data.frame(0.5 ,camino)
DT::datatable(data, escape = FALSE)

您遇到了 b/c 问题,它不是“URI”,并且无法从本地系统中提取。它可能在具有 file://… URL 的浏览器上下文中工作。

关于r - 将图像添加到 R 中的数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47804593/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com