【问题标题】:sortable HTML output from R with images来自 R 的带有图像的可排序 HTML 输出
【发布时间】:2013-11-15 21:11:00
【问题描述】:

我在数据框中有一些数据。每行都有一个小图像。

我希望能够将此数据与图像一起写入 HTML,并使其以缩略图的形式显示在每一行中。手动编写一个 href 标记来链接到图像,这没什么大不了的。

但是,我找不到一种方法来做到这一点并使 HTML 表格可排序。目标是按其中一列对 HTML 表进行排序,并使图像与行一起排序。

我已经尝试过使用 googleVis 的 gvisTable() 函数来执行此操作,但我无法让图像显示。

有什么想法吗?

谢谢,

最大

> sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-apple-darwin10.8.0 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] googleVis_0.4.7

loaded via a namespace (and not attached):
[1] RJSONIO_1.0-3 tools_3.0.2 

【问题讨论】:

  • 您可能需要使用 javascript 来制作可排序的 html 表格。我知道shiny 的人最近采用了DataTables

标签: html r googlevis


【解决方案1】:

根据定义,您不能与 HTML 交互。它是一种标记语言,意思是提供有关信息的信息。如果你想在用户浏览器中对表格进行排序,你需要使用客户端脚本,你最好的选择是 jQuery。

这是一个很好的解决方案,它应该适用于您的应用程序。

http://tablesorter.com/docs/

【讨论】:

    【解决方案2】:

    我不敢说现在没有办法用原始 HTML 来做到这一点,尤其是 HTML 5 非常棒,但我使用 http://datatables.net/,因为它在几千行以下的表格中非常灵活而且相当简单实施。

    【讨论】:

      【解决方案3】:

      如果你想使用 gvisTable,你可以这样写:

      data = .... your frame here, e.g.  data.frame(matrix(1:9, nrow = 3)) ... 
      table <- gvisTable(data, options = list(width = 600, height = 300))
      print(table, "chart")
      

      gvisTable 将创建 Javascript 代码,该代码使用 Google JS API 根据该代码中的数据呈现实际表格。

      如果您更喜欢自己创建 HTML,还有其他各种 Javascript 库可以执行此类任务。看看这个:http://www.kryogenix.org/code/browser/sorttable/ 只需2步:

      1. 在 HEAD 元素内添加:

      2. 在输出的开始表标签中添加 class="sortable" ,如下所示:

        …… ……

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-02
        • 1970-01-01
        • 2021-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多