javascript - RMarkdown : Color single cells in an HTML table based on conditions

标签 javascript html css r r-markdown

我使用 xtable (HTML) 在 R markdown 中成功生成了一个表格。

enter image description here

现在我想根据单元格中的值对第三列进行颜色格式化。 红色表示最高值,绿色表示最低值,其余为不同的色调。 单元格中的值是动态生成的。使用条件格式选项在 Excel 中很容易发生类似的情况。我们可以在 R 中使用 css 来做到这一点吗?欢迎任何帮助和建议..谢谢:)

最佳答案

您可以在 RMarkdown 脚本中使用 jQuery,如下所示:

---
title: "Title"
author: "Yourname"
date: "June 16, 2016"
output: html_document
---

<script>
    $(document).ready(function() {
        $td = $('#myTable tr:not(:has(th)) :nth-child(5)');
        var entries = new Array();
        $td.each(function() { 
          entries.push(parseFloat($(this).html()));
        })
        var minimum = Math.min.apply(Math, entries);
        var maximum = Math.max.apply(Math, entries);

        $("#myTable tr :nth-child(5):contains('" + minimum + "')").css('background-color', 'green');
        $("#myTable tr :nth-child(5):contains('" + maximum + "')").css('background-color', 'red');
    });
</script>

```{r, echo=F, results='asis'}
library(xtable, quietly = T)
myTable <- xtable(head(mtcars))    
print(myTable, type="html", html.table.attributes='border=1 id=myTable')
```

JavaScript 读出第 5 列的所有值(:nth-child(5),包括行名称)并检查最小值和最大值。然后,它将该列的单元格与这些值进行匹配并应用 CSS 属性。 请注意,我为该表指定了一个 ID (#myTable)。因此,如果您有多个表,JavaScript 可以选择正确的一个。

enter image description here

关于javascript - RMarkdown : Color single cells in an HTML table based on conditions,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32851701/

相关文章:

javascript - 将旧返回的 Ajax 数据保留在 div 中而不是覆盖

javascript - 我对 API 的调用并未更新 React 状态

javascript - JSDoc + IDE 与 TypeScript

html - 需要帮助添加飞机在一条线上

html - Chrome 中的图像和文本对齐问题

javascript - 使用 jQuery 的 .length 测试现有元素看不到新创建的元素

html - 盒子位置不居中

javascript - 动画菜单 : shall I use canvas or javascript?

javascript - 基于同一设计模式的多个内容

javascript - 如何在 jquery 对话框中的固定宽度文本框中显示可变长度文本