在 formattable 中设置栏大小

Setting bar size in formattable

我想知道它是否可以反转 formattablecolor_bar 命令的大小,示例:

library(formattable)

df = data.frame(Ranking = c(1, 2, 3, 4, 5, 8, 10))

formattable(df, list(Ranking = color_bar("red")))

我的 table 结果是:

是否可以得到最大的条 1 和最短的条 10?我有一个 Ranking 列,其中 1 数字是最佳排名。

EDIT1

对我有用的其他解决方案是省略或删除 color_bar 中的数字。

编辑2:

其他问题:如何使页眉居中?

我的代码:

formattable(df, align =c("c"), list(Ranking= color_bar("red")))

试试这个解决方案:

```{r, include=FALSE, warning=FALSE}
library(formattable)

InvProp = function(x) (1.05 - ((x) / (max(x)))) #inverse proportion
#make our formattable
df = data.frame(" " = c(1, 2, 3, 4, 5, 8, 10, 15), check.names=FALSE)
table2 <- formattable(df, list(" " = color_bar("red", InvProp)))
```

#you can modify title style with html and css, as you wish
<center>
<caption>My formattable</caption>
</center>
`r table2`


一个补充

library(formattable)
library(kableExtra)

InvProp = function(x) (1.1 - ((x) / (max(x)))) #inverse proportion
df = data.frame(names = c(1, 2, 3, 4, 5, 8, 10), check.names=FALSE)

df %>% 
     mutate(
         "names" = color_bar("red", InvProp)(names)) %>%
    kable("html", escape = F, align = c("r"), col.names = NULL) %>%
    kable_styling("hover", full_width = F) %>%
    column_spec(1, width = "5cm", color = "white")

之后您可以根据需要自定义它。祝你好运。