闪亮的图像通过R包

时间:2017-10-19 02:34:22

标签: r image shiny

当我在R包结构中使用闪亮时,我的图像不会显示。

在我的R目录中,我有一个文件myApp.R,其大致轮廓如下:

@param1
myFunction = function(param1){
  sidebar <- dashboardSidebar(...)
  body <- dashboardBody(...)
  ui <- dashboardPage(...)
  server <- function(input, output, session) { img(src='Figure1.png')}
  shinyApp(ui = ui, server = server)
}

我尝试在R / www和inst / www中使用Figure1.png,但是当我运行myFunction(param1)时,两个位置似乎都没有创建数字。它会创建一般应用程序 - 但图像只是缺席。

这个问题有一个简单的解决方法吗?谢谢。

2 个答案:

答案 0 :(得分:2)

尝试使用addResourcePath(“www”,“www”)函数并使用www / Figure1.png参考图像

安德鲁

答案 1 :(得分:0)

Divad Nojnarg的“ CaPO4 sim”中找到了一个有效的示例,如issue I raised中有关在闪亮的dashboardPlus用户描述中引用本地图标文件所述。

总而言之,引用本地图像文件的一种方法是添加一个zzz.R文件

.onAttach <- function(libname, pkgname) {
  shiny::addResourcePath('icons',
                         system.file("www/assets/icons",
                                      package = "DailyMeasure"))
}

我的包裹名称为 DailyMeasure

我的图像文件位于inst/www/assets/icons/user-avatar.svg中。

像这样在Shiny的服务器部分中引用该文件...

output$user <- shinydashboardPlus::renderUser({
  shinydashboardPlus::dashboardUser(
    name = UserConfig()$Fullname[UserConfig()$AuthIdentity == Sys.info()[["user"]]],
    src = 'icons/user-avatar.svg', # this depends on addResourcePath in zzz.R
    subtitle = Sys.info()[["user"]], ... )})