Выравнивание HTML-виджетов в rmarkdwon

Я использую knitr::opts_chunk$set(fig.align = "center") в начале документа rmarkdown установить выравнивание фигур. Когда я вывожу HTML-файлы, статические фигуры выравниваются по центру, но виджеты HTML, например, выводятся из leaflet() а также ggplotly() иметь выравнивание по умолчанию (слева). Есть ли возможность принудительно установить виджеты HTML в центр?

РЕДАКТИРОВАТЬ: пример, приведенный ниже.

---
title: "test"
output: html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, fig.align = "center")
library(ggplot2)
library(plotly)
```

```{r static plot}
# This is aligned to center

g <- ggplot(mtcars, aes(mpg, cyl)) + 
geom_point()
g
```

```{r html widget}
# html output isn't aligned
p <- ggplotly(g)
p
```

1 ответ

Вы можете изменить размер графика до ширины документа по умолчанию, а затем использовать немного CSS:

---
title: "Untitled"
output: html_document
---

<style>
/* resize the widget container */
.plotly { 
  width: 100% !important;
}

/* center the widget */
div.svg-container {
  margin: auto !important;
}
</style>

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, fig.align = "center")
library(ggplot2)
library(plotly)
```


```{r static plot}
# This is aligned to center
g <- ggplot(mtcars, aes(mpg, cyl)) + 
geom_point()
g
```

```{r html widget}
p <- ggplotly(g, browser.fill = F) %>% 
  layout(autosize = F, width = '100%', height = '100%')
p
```
Другие вопросы по тегам