Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中渲染DT表中的图像_R_Shiny_Dt - Fatal编程技术网

在R中渲染DT表中的图像

在R中渲染DT表中的图像,r,shiny,dt,R,Shiny,Dt,我正在制作一个R闪亮的网页,它使用一个有许多列的DT表,第一列是一个图像。目前,我已经找到了两种不同的方法来展示这些图片,我想知道是否还有其他方法,因为这两种方法都不适合我的需要 方法1-指向现有的网络托管iamge 首先,在dataframe中有一列用于构建表,该表采用以下格式: <img src='URL_TO_IMG.png' height='200'></img> 其中,KNITR\u IMAGE\u URI的RESULTS\u是KNITR::IMAGE\u

我正在制作一个R闪亮的网页,它使用一个有许多列的DT表,第一列是一个图像。目前,我已经找到了两种不同的方法来展示这些图片,我想知道是否还有其他方法,因为这两种方法都不适合我的需要

方法1-指向现有的网络托管iamge

首先,在dataframe中有一列用于构建表,该表采用以下格式:

<img src='URL_TO_IMG.png' height='200'></img>
其中,KNITR\u IMAGE\u URI的
RESULTS\u是
KNITR::IMAGE\u URI(x)
函数调用的结果,其中
x
是指向本地图像的路径。从knitr文档中,此功能:

…可以将图像文件编码为base64字符串,可以在HTML中的img标记中使用

调查结果:

方法1工作得很好,但有一个问题,我想后处理网络承载的图像,以较小的大小。有时它们会非常大,需要很长时间才能加载,而我实际上最多只需要200像素宽的图像。另外,我希望对图像文件的位置有更多的控制

方法2的数据URI方法允许我对图像进行本地预处理,使其能够很好地适应列并更小。但是,由于我有200多张图像,这会导致应用程序的加载时间超过10秒,因为我相信应用程序会以这种方式一次加载所有图像

我想我可能想在一个图像托管网站上托管我的后处理图像,并指向类似方法1的URL,但我不确定。有什么建议吗

如果有人想玩我的设置,我做了一个:

库(闪亮)
图书馆(DT)
#读取带有表格信息的CSV
my_image\u df=read.csv('image\u test\u case\u table.csv'))
#定义用户界面

ui在闪亮的文档中隐藏了一点,您将发现方法3,该方法涉及在
www
目录中提供图像文件(示例参考或中)

如果您的文件夹结构如下所示

├── image_test_case.R
├── image_test_case_table.csv
├── www/
│   ├── amerikaan.jpg
│   └── tilia.jpg
然后,您可以将
src
标记设置为相对于
www
路径的图像路径



<>请注意,<代码> WWW 用于各种静态资源(最常见的图像、JavaScript和CSS文件)。

您可能想考虑一下,我知道很多人使用IMGUR,(这是免费的),因为它听起来像Web URL加载的FAST,而不是粘贴图像URI到<代码> SRC=“……”/代码>,您是否尝试过将图像放入
www
文件夹并通过路径加载它们?(例如,如果一个图像被称为
www/tilia.jpg
,请使用
src=“tilia.jpg”
指定其路径)@FelixJassler这正是我所希望的!我不知道如何使用www目录——学到了一些新东西!谢谢如果你把它写下来作为答案,我会相信你的。同时也向DanielJachetta大喊——谢谢你的投入。我以前没有学过R中的缓存。@Sooji不知道knitr::image_uri(x)
,所以我也有一些新发现的知识:)
├── image_test_case.R
├── image_test_case_table.csv
├── www/
│   ├── amerikaan.jpg
│   └── tilia.jpg