Выравнивание 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
```