r - 如何将图像放置在作为函数调用的闪亮应用程序中?
问题描述
我知道将包中的图像嵌入闪亮应用程序的唯一方法需要传统的闪亮模板,即 app.R,并且需要将图像放在 www/ 文件夹中
但是,我有一个传统的 R 包(不是传统的闪亮模板),它里面的许多功能之一R/
是启动闪亮应用程序的功能。该函数进行一些数据预处理,指定 ui 和 server,然后调用runApp(shinyApp(ui, server))
.
我当然可以为src
参数提供一个图像 url,但图像只会在用户可以访问互联网时显示,并且我想包含在包本身中,这样它将从包中获取图像,而不是 url。我尝试在包中创建 www/ 文件夹并为src
参数指定图像路径,但没有成功...
如何在 R 包目录中设置图像,以便我可以成功获取而不需要互联网连接来查看图像?请参阅下面需要互联网连接的当前方法的代表:
library(shiny)
launchShiny <- function(data){
#example of some data preprocessing
appdata <- as.data.frame(data)
ui <- fluidPage(
titlePanel(title = span(" ", tags$a(href = "#!", class = "brand-logo", tags$img(height = 100, width = 420, style = "padding-bottom: 0px", src = "https://i.ibb.co/d0btktV/why.png")), "")),
dataTableOutput("mydata")
)
server <- function(input, output, session)
output$mydata <- renderDataTable(
appdata
)
runApp(
shinyApp(ui, server)
)
}
launchShiny(mtcars)
解决方案
一种选择是将 base64 字符串传递给src
参数:
b64 <- base64enc::dataURI(file = "why.png", mime = "image/png")
tags$img(src = b64, ......)
推荐阅读
- html - 悬停元素时更改另一个元素的 ::after 选择器
- opencv - Unreal simulated data (CARLA) to generate depth map using OpenCV
- reactjs - 如何持久化数据表 LocalStorage ReactJS Hooks
- docker - docker中的sails.js没有拾取process.env
- dotnetnuke - 将 TLS 1.0 和 1.1 与 DNN 和 2sxc 一起使用
- pandas - 使用用户格式化表格导入 Excel 电子表格
- java - 构建名称的 Java 设置属性
- django - 未找到“喜欢”的反向。'like' 不是有效的视图函数或模式名称
- python - .NET Azure Function App 使用 UpsertItemAsync 上传到 CosmosDB 速度非常慢,尤其是与 Python 的 CosmosClient 相比
- nginx - 将 docker-compose 容器中的 API 调用到另一个容器