图像未在 Shiny 应用 R 中显示

Posted

技术标签:

【中文标题】图像未在 Shiny 应用 R 中显示【英文标题】:Image not showing in Shiny app R 【发布时间】:2016-10-26 22:46:01 【问题描述】:

我想将一张图片嵌入到我闪亮的应用程序中,并且已经阅读了尽可能多的关于如何做到这一点的信息。虽然,当我运行我的代码时,我得到的只是一个蓝色问号。

这是我在fluidPage ui 命令中添加的代码行

img(src="logo.png", align = "right",height='100px',width='400px')

我的图像已放置在项目目录文件夹中,并尝试在名为 www 的单独文件夹中(根据 suggestion given here)

编辑:在以下上下文中使用的代码:

ui <- fluidPage(titlePanel("Test title"),

                img(src="logo.png", align = "right",height='100px',width='400px'),

                hr())

【问题讨论】:

我刚刚检查了将上面的代码添加到例如sidebarPanelsidebarLayoutfluidPage 并将图像放入 www/logo.png 工作正常。您能否分享对您而言失败的特定应用程序的代码?谢谢! 我在fluidPage中的titlePanel之后添加了这行代码。我在 OP 中添加了一个更全面的示例。 这似乎对我有用,请参阅runGitHub("aoles/SO_38011285")。也许您的图片路径有错字,或者图片文件本身存在其他问题? 可能。这对我来说是个谜,因为你的工作正常,但我的不会显示。图像路径应该没问题,因为该目录设置为保存 .app 文件的 R 项目文件夹。奇怪! 我有同样的问题。在 ui 端使用 img() 时没有渲染。使用相同的路径,但从服务器端渲染可以正常工作。 【参考方案1】:

回到这个问题后,我发现解决方案是简单地格式化 Shiny 代码,将 R 文件命名为app.R,然后单击Run App,而不是选择所有代码并在控制台。

不知道这会如何或为什么会有所不同,但从那以后我从事的众多 Shiny 应用程序都在这样做时得到了解决。

【讨论】:

哇。哇。我花了整个上午来解决这个微不足道的错误。多次检查图像地址、www 文件夹、应用程序名称、代码等等。我什至将图像放在不同的地方,看看是否有效。然后是这个答案。我不会在 100 或 1000 次尝试中猜到这一点。我相信这应该在 R Shiny Github repo 上报告。愿所有迷路的人都比我更快地找到这里。 很高兴我能提供帮助:)。这个问题让我很头疼,很高兴它帮助了你 非常感谢@sym246。你救了我这么多痛苦 @sym246,您澄清了非常重要的问题。有没有人在 github 上提出过这个问题? 我没有打开一个,没有。不知道其他人有没有。【参考方案2】:

只是一个可能对其他人有帮助的注释,它只是发生在我身上:请仔细检查您的 app.R 是否在根目录中。即,app.Rwww 文件夹处于同一级别。我知道这似乎微不足道,但是如果您(就像我刚才所做的那样)将app.R 放入子文件夹并单击Run App,应用程序仍然可以运行,只是没有图片。

【讨论】:

【参考方案3】:

我遇到了同样的问题。要解决这个问题,只需在 app.R 脚本所在的文件夹中创建一个名为“www”的文件夹,然后将图像放入该文件夹中。

我在本页的教程视频中找到了解决这个问题的方法:Shiny Tutorial Video - Adding Static Content 从 1 小时 45 分 00 秒开始观看。

【讨论】:

这不起作用(根据 OP 中的建议)。选择代码并以这种方式运行时似乎出现了故障,而不是单击“运行应用程序”【参考方案4】:

你应该检查你的R代码文件的名字是不是叫“app.R”而不是叫xxx.R。这个错误也发生在我身上

【讨论】:

以上是关于图像未在 Shiny 应用 R 中显示的主要内容,如果未能解决你的问题,请参考以下文章

R Shiny:PlotOutput 未在 Shiny 应用程序中更新

图像未在 R 中传单的 addControl() 的 html 字符串中显示

试图在 R Shiny 中动态渲染 ggmap 图但只接收空白图像

AssetImage 未在颤振应用程序中显示图像

某些资产图像未在 Ionic 应用程序中显示

外部图像未在 Android 应用程序中显示 - Meteor - Cordova