【问题标题】:R shiny: How do I put local images in shiny tablesR闪亮:如何将本地图像放在闪亮的表中
【发布时间】:2014-01-01 17:42:17
【问题描述】:

如果图像存储在我的机器上,我似乎无法在表格中显示图像。如果图像由 URL 指定,我可以让它工作,但我不知道有任何简单的方法来“提供”图像,以便可以通过 URL 找到它,而不是仅使用图像文件名并放置文件在与 ui.R 和 server.R 相同的目录中(我也尝试将图像放在 R 的主目录中)。 我检查了输出的 HTML,它似乎与成功显示存储在本地计算机上的图像的 HTML 文档中的相同。事实上,如果我将来自闪亮的输出 HTML 复制并保存为静态页面,图像在同一个目录中,然后在我的浏览器中打开它,图像就会显示。

我正在使用的 server.R 和 ui.R 脚本粘贴在下面。

有没有人知道一个好的解决方法或其他解决方案?

感谢您的帮助。

server.R 脚本:

#server.R
require(shiny)
shinyServer(function(input, output){
    output$mytable <- renderTable({
        dat <- data.frame(
            country = c('USA', 'China','Working directory'),
            flag = c('<img src="test.png" height="52"></img>',
                             '<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Flag_of_the_People%27s_Republic_of_China.svg/200px-Flag_of_the_People%27s_Republic_of_China.svg.png" height="52"></img>',
                             getwd())
        )
        dat
    }, sanitize.text.function = function(x) x)
})

ui.R 脚本:

require(shiny)

shinyUI(
    tableOutput('mytable')
)

【问题讨论】:

  • 什么是“数据表”?你的意思是问一个关于data.table 使用同名包中的函数创建的问题吗?
  • 或者你说的是renderTable函数的输出?
  • @DWin 感谢您的理解——我的意思是引用 renderTable 函数的输出。
  • 如果你把一个图片img1.png放到www/img/img1.png,你可以在server.R引用它为&lt;img src=img/img1.png&gt;&lt;/img&gt;
  • @Ramnath 谢谢,解决得很好!你能把你的评论写成“答案”吗?我想把功劳给你。

标签: jquery r shiny


【解决方案1】:

你机器上的某个项目的 URL 就是这样的东西,我可以用它来在我的机器上调出“R 简介”:

 http://127.0.0.1:19812/doc/manual/R-intro.html

因此您需要确定在127.0.0.1:19812 和文件名之间放置的正确目录/路径(并检查您的端口号。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-20
    • 2019-01-04
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 2014-09-12
    • 1970-01-01
    • 2020-08-08
    相关资源
    最近更新 更多