связать формат данных, созданный в r в pdf - PullRequest
1 голос
/ 27 февраля 2020

Я создаю отчет R-markdown , в котором графики и таблицы данных связаны в pdf .

Эти таблицы данных (пакет DT) имеют fantasti c параметры форматирования, такие как styleColorBar, которые я вижу в средстве просмотра, в HTML, когда я печатаю в этом формате, но не в pdf, насколько я пытался. Вот пример моего кода, где второй столбец dist должен иметь полосы интенсивности на фоне ячейки.

---
title: "prove27_2"
author: "Roberto Di Pietro"
date: "27/2/2020"
output: pdf_document
---
knitr::opts_chunk$set(echo = TRUE)
library(DT)
colors<-viridis::viridis(3,alpha=.3)[1]
datatable(cars) %>% formatStyle(names(cars)[2],
                                            background = styleColorBar(range(cars[,2]),
                                                                       colors
                                            ),
                                            backgroundSize = '98% 88%',
                                            backgroundRepeat = 'no-repeat',
                                            backgroundPosition = 'center')

Возможно ли это? Связано ли это с js или css или просто с опцией, которую мне не хватает, чтобы найти?

1 Ответ

0 голосов
/ 28 февраля 2020

Ваш цвет в шестнадцатеричном формате "#RRGGBBAA" Кажется, что не работает для такого формата (даже за пределами Rmarkdown). Вместо этого вы можете использовать "rgba(68,1,84,0.3)".

Но для правильного рендеринга с документом PDF Rmarkdown есть еще кое-что. По умолчанию htmlwidget в документе PDF Rmarkdown преобразуется в рисунок PDF со значением webshot::webshot. Но иногда есть определенные HTML элементы, которые не отображаются на скриншоте PDF. Используйте параметр чанка dev='png', чтобы получить снимок экрана PNG, который работает лучше.

---
title: "prove27_2"
author: "Roberto Di Pietro"
date: "27/2/2020"
output: pdf_document
editor_options: 
  chunk_output_type: console
---

```{r, dev='png'}
knitr::opts_chunk$set(echo = TRUE)
library(DT)
datatable(cars) %>% 
  formatStyle(names(cars)[2],
              background = styleColorBar(range(cars[,2]), "rgba(68,1,84,0.3)"),
              backgroundSize = '98% 88%',
              backgroundRepeat = 'no-repeat',
              backgroundPosition = 'center')
```
...