在knitr中心googleVis情节

时间:2013-09-03 18:20:45

标签: r knitr googlevis

我正在玩knitr中的googleVis,通常可以使用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 个答案:

答案 0 :(得分:3)

gvisPieChart()功能无法创建图片,因此fig.align无效。您需要添加代码以使javascript居中。

最简单的方法是:

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

使用<center>不是很好的编码(在HTML世界中),但它很快,应该适用于你想要做的事情。

编辑(tyler rinker)

对我来说这很有效。

我补充说:

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

到我的style.css然后用<img class="center"></img>

包装代码块