【发布时间】:2017-12-16 23:05:57
【问题描述】:
我正在使用 formattable 在闪亮应用程序的表格中实现一些条件颜色格式。例如,假设我想将值低于 2 的单元格着色为绿色,高于 5 的单元格为红色,介于 2 和 5 之间的单元格为橙色。我会这样写我的格式化函数:
formatter(
"span",
style = x ~ style(
color = 'white',
'background-color' =
ifelse(x > 5, "red",
ifelse(x > 2 & x <= 5, "orange",
"green"))))
但是,我真正想要做的是让用户能够更改这些颜色阈值,即 2 和 5。
假设 user_low 和 user_high 是由用户定义的:
col_format <-
formatter(
"span",
style = x ~ style(
color = 'white',
'background-color' =
ifelse(x > input$user_high, "red",
ifelse(x > input$user_low & x <= input$user_high, "orange",
"green"))))
如果我现在尝试将此格式化程序提供给我闪亮的应用程序中的 formattable:
formattable(mtcars, col_format)
我收到以下错误:
'col_format' of mode 'function' was not found
似乎 input$user_low 和 input$user_high 没有被评估,而是在格式化程序中被视为字符串。我试过 eval(), eval(parse()),没有用。
有什么想法吗?
【问题讨论】:
-
不确定
formattable但使用tableHTML真的很容易。检查here。它也适用于闪亮。 -
很好@LyzanderR。我还没有看到tableHTML,绝对是一个很好的备份。不过 Formattable 看起来更好一些,如果可能的话,我想在那个框架中做到这一点
标签: r shiny formattable