2017-02-06 2 views
2

Я использую пакет форматирования в R для создания таблицы HTML. Я могу использовать форматтер, чтобы настроить внешний вид значений данных в моей таблице, например. размер шрифта, цвет и т. д. Но я не могу понять, как изменить внешний вид строки заголовка таблицы. Я могу изменить имена фактических столбцов, используя col.names(), но не смог изменить их внешний вид.Как изменить внешний вид строки заголовка таблицы с R-готовым пакетом

Например, в таблице ниже, как можно изменить цвет текста или цвет фона в строке заголовка (миль на галлон, цил, дисп и т.д.)

В конечном счете, я планирую использовать formattable :: as.htmlwidget() и библиотека (WebShot), чтобы захватить файл изображения таблицы, см Command for exporting/saving table made with Formattable package in R

Благодарности

library(formattable) 

formatRed <- formatter("span" 
    , style = x ~ style(color = ifelse(x > 21 , "red", "black"))) 

formatSize <- formatter("span" 
    , style = x ~ style("font-size" = "8px")) 

exTb <- formattable(head(mtcars, 5) 
    , table.attr = "class='table table-striped'" 
    , list(mpg = formatRed 
     , wt = formatSize) 
) 

exTb 

ответ

1

Я провел последние 3 дня расследование этого вопроса. К сожалению, примеров, доступных для форматирования, мало, поэтому для тех, кто начинает использовать formattable, это немного сложно. Однако я нашел решение (благодаря помощи некоторых гениев!) Изменить шрифт заголовка и строк (которые вы можете применить к своей проблеме). Хитрость заключалась в том, чтобы создать собственный CSS-файл, который позволяет изменять различные элементы таблицы. Затем вы можете связать formattable с помощью параметра table.attr в этом файле CSS или использовать контейнер CSS. Это мой вопрос здесь How do you change the font family in a formattable in R?. Надеюсь, это поможет!

+1

Спасибо @ Joshua-Daly - я понимаю идею вашего предложения, но борюсь с синтаксисом для создания ссылки на работу с CSS-файлом. Было бы очень полезно, если бы вы могли предоставить минимальный пример - конечно, я бы принял ваш ответ. – PaoloRossi

Смежные вопросы