如何在 R Markdown 或闪亮的 DT 列内显示图像?
How to display image inside column with DT in R Markdown or shiny?
---
title: "Untitled"
runtime: shiny
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r}
df <- data.frame(image = "http://www.ufotm.com/data/attachment/forum/201203/11/110705gf50r55yqcka5ffz.jpg", title = "here is a title")
DT::renderDataTable(df,
escape = FALSE,
rownames = FALSE,
extensions = 'Buttons', options = list(
dom = 'lBfrtip',
buttons = c('copy', 'csv', 'excel', 'pdf', 'print')
)
)
```
我有图像 url。我尝试在 rmarkdown 或 shiny 应用程序中插入图像。我更喜欢 DT
库,因为我可以下载 excel 文件。我该怎么做?
PS: 我想提供 excel 或 pdf 文件供我的用户下载。
我尝试使用DataTables Options, and find a related question。我尝试了下面的代码,它显示错误。
---
title: "Untitled"
runtime: shiny
output: html_document
---
df <- data.frame(image = "http://www.ufotm.com/data/attachment/forum/201203/11/110705gf50r55yqcka5ffz.jpg", title = "here is a title")
DT::renderDataTable(df,
escape = FALSE,
rownames = FALSE,
extensions = 'Buttons', options = list(
dom = 'lBfrtip',
buttons = c('copy', 'csv', 'excel', 'pdf', 'print'),
columnDefs = list(list(targets = 1,
data = "img",
render = JS(
'function ( url, type, full) {',
'return '<img height="75%" width="75%" src="'+full[7]+'"/>';',
'}'
)
))
)
)
您可以使用 html 标签并使用 escape = FALSE
如下:
---
title: "Untitled"
runtime: shiny
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r}
df <- data.frame(image = c('<img src="http://www.ufotm.com/data/attachment/forum/201203/11/110705gf50r55yqcka5ffz.jpg" height="52"></img>' ), title = "here is a title")
DT::renderDataTable(df, escape = FALSE)
```
你会得到这样的东西:
---
title: "Untitled"
runtime: shiny
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r}
df <- data.frame(image = "http://www.ufotm.com/data/attachment/forum/201203/11/110705gf50r55yqcka5ffz.jpg", title = "here is a title")
DT::renderDataTable(df,
escape = FALSE,
rownames = FALSE,
extensions = 'Buttons', options = list(
dom = 'lBfrtip',
buttons = c('copy', 'csv', 'excel', 'pdf', 'print')
)
)
```
我有图像 url。我尝试在 rmarkdown 或 shiny 应用程序中插入图像。我更喜欢 DT
库,因为我可以下载 excel 文件。我该怎么做?
PS: 我想提供 excel 或 pdf 文件供我的用户下载。
我尝试使用DataTables Options, and find a related question。我尝试了下面的代码,它显示错误。
---
title: "Untitled"
runtime: shiny
output: html_document
---
df <- data.frame(image = "http://www.ufotm.com/data/attachment/forum/201203/11/110705gf50r55yqcka5ffz.jpg", title = "here is a title")
DT::renderDataTable(df,
escape = FALSE,
rownames = FALSE,
extensions = 'Buttons', options = list(
dom = 'lBfrtip',
buttons = c('copy', 'csv', 'excel', 'pdf', 'print'),
columnDefs = list(list(targets = 1,
data = "img",
render = JS(
'function ( url, type, full) {',
'return '<img height="75%" width="75%" src="'+full[7]+'"/>';',
'}'
)
))
)
)
您可以使用 html 标签并使用 escape = FALSE
如下:
---
title: "Untitled"
runtime: shiny
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r}
df <- data.frame(image = c('<img src="http://www.ufotm.com/data/attachment/forum/201203/11/110705gf50r55yqcka5ffz.jpg" height="52"></img>' ), title = "here is a title")
DT::renderDataTable(df, escape = FALSE)
```
你会得到这样的东西: