Центр googleVis сюжет в knitr

Я играю с googleVis в knitr, и обычно можно отцентрировать сюжет, используя fig.align="center"Однако, это не работает для графиков GoogleVis. Как я могу центрировать график GoogleVis в середине страницы?

Вот файл MWE Rmd

```{r setup, include=FALSE}
# set global chunk options
opts_chunk$set(cache=TRUE)
```
------
## Page 1

```{r echo = FALSE, results="asis", fig.align="center", messages=FALSE}
dat <- data.frame(party=c("CDU", "FDP", "CSU", "SPD",
                          "The Left", "The Greens"),
                  members.of.parliament=c(193, 93, 44, 
                                          146, 76, 68))
library(googleVis)
## Doughnut chart - a pie with a hole
doughnut <- gvisPieChart(dat, 
                      options=list(
                        width=500,
                        height=500,
                        slices="{0: {offset: 0.2},
                          1: {offset: 0.2},
                          2: {offset: 0.2}}",
                        legend='none',
                        colors="['black','orange', 'blue', 
                        'red', 'purple', 'green']",
                        pieSliceText='label',
                        pieHole=0.5),
                      chartid="doughnut")
print(doughnut, "chart")
```

------
## Page 2


```{r echo = FALSE, fig.align="center"}
plot(1:10, 1:10)
```

1 ответ

Решение

gvisPieChart() Функция не создает изображение, поэтому fig.align не будет работать. Вам нужно добавить код для центрирования JavaScript.

Самый простой способ сделать это:

cat("<center>")
print(doughnut, "chart")
cat("</center>")

С помощью <center> не очень хорошее кодирование (в мире HTML), но оно быстрое и должно работать для того, что вы пытаетесь сделать.

РЕДАКТИРОВАТЬ (Тайлер Ринкер)

Для меня это сработало.

Я добавил:

img.center {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

На мой style.css, а затем обернул кусок кода с <img class="center"></img>

Другие вопросы по тегам