微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 R 中的 formattable 包更改表格内容的字体大小

如何解决使用 R 中的 formattable 包更改表格内容的字体大小

假设一个数据框如下:

df <- structure(list(week1 = c(30,74.62,189.93,2394.91,6095.8,2.88,45.49),week2 = c(30,88.4,156.14,2880.4,5087.41,7.98,44.97),change = structure(c(0,-0.1559,0.2164,-0.1685,0.1982,-0.6391,0.0114),formattable = list(formatter = "formatC",format = list(format = "f",digits = 2L),preproc = "percent_preproc",postproc = "percent_postproc"),class = c("formattable","numeric"))),row.names = c("v1","v2","v3","v4","v5","v6","v7"),class = "data.frame")

我用 formattable 创建了一个表,代码如下:

formattable(df,list(~ formatter("span",style = x ~ formattable::style(display = "block","border-radius" = "10px","padding" = "10px","text-align" = "center")),week2 = color_tile("white","orange"),week1 = color_tile("white",`change` = formatter("span",style = ~ style(color = ifelse(`week2` > `week1`,"green","red"),"font.weight" = "bold","font.size" = "16px"),~ icontext(sapply(`change`,function(x) if (x < 0) "arrow-down" else if (x > 0) "arrow-up" else ""),`change`))))

出:

enter image description here

我可以为 change 列的值设置字体大小,但现在我想将其应用于包括名称在内的整个表格,我该怎么做?谢谢。

解决方法

您可以在 table.attr 参数中全局定义表格的字体大小。
您可以通过在 formatter 参数中定义字体大小来覆盖某些列的这些设置。就像您对 change 列所做的一样。

在下面的示例中,表格字体大小设置为 16px,就像 change 列一样。

df <- data.frame(week1 = c(30,74.62,189.93,2394.91,6095.8,2.88,45.49),week2 = c(30,88.4,156.14,2880.4,5087.41,7.98,44.97),change = c(0,-0.1559,0.2164,-0.1685,0.1982,-0.6391,0.0114))
rownames(df) <- LETTERS[1:7]

formattable(df,list(week2 = color_tile("white","orange"),week1 = color_tile("white",`change` = formatter("span",style = ~ style(color = ifelse(`week2` > `week1`,"green","red"),"font.weight" = "bold","font.size" = "16px"),~ icontext(sapply(`change`,function(x) if (x < 0) "arrow-down" else if (x > 0) "arrow-up" else ""),`change`))),table.attr = 'style="font-size: 16px;";\"')

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?