Отображение анимированного сюжета с помощью gganimate в knitr Markdown для презентации ioslides: корневой каталог - PullRequest
0 голосов
/ 20 февраля 2019

Я хочу встроить сюжет, созданный с помощью ggplot и gganimate, в слайд-шоу, используя knitr.Я могу создавать анимацию, когда данные и файл .Rmd находятся в одной папке.

Вот воспроизводимый пример для анимации.

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(ggplot2)
library(gganimate)
library(gapminder)
```

## Static plot create
```{r, }
ranim <- ggplot(gapminder, aes(x = gdpPercap,y=lifeExp, 
                                  size = pop,
                                  colour = country)) +
      geom_point(show.legend = FALSE, alpha = 0.7) +
      scale_color_viridis_d() +
      scale_size(range = c(2, 12)) +
      scale_x_log10() +
   labs(x = "GDP per capita", y = "Life expectancy")
```

## Static plot
```{r, }
ranim
```

## Build animate
```{r, }
ranim2 <- ranim + 
transition_time(year) + 
labs(title = "Year: {frame_time}")
```

## View animate
```{r, }
animate(ranim2)
```

Однако проблема возникает, когда я использовал локальные данные, сохраненные в подпапке.Я открываю проект в папке «Project1».Я сохраняю данные в подпапке «Данные».Я установил параметры для корневого каталога в папку данных.

knitr::opts_knit$set(root.dir = './Data')

Мой .Rmd файл сохраняется в папке Project1.Код ниже и выдает пустой слайд при компиляции.Я могу создать анимированный файл в средстве просмотра, запустив фрагмент кода вручную из .Rmd.Но когда HTML-компиляция пуста.

Есть ли рекомендуемые настройки для организации локальных данных в подпапке проекта и создания слайдов уценки из .Rmd, сохраненных в основной папке Project1?

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
knitr::opts_knit$set(root.dir = './Data')
library(ggplot2)
library(gganimate)
library(gapminder)
```

## slide 1
```{r, }
datain <- read.csv("table1.csv")
panim <- ggplot(datain, aes(x, y, frame = year)) + geom_point()
```

## Static plot view
```{r, }
panim
```

## Static plot add animate
```{r, }
panim2 <- panim + transition_time(year) + 
labs(title = "Year: {frame_time}")
```

## Activate animate 
```{r, }
animate(panim2)
```

1 Ответ

0 голосов
/ 20 февраля 2019

Не знаю, в чем конкретно заключается ваша проблема, или какие стили вывода слайдов вы используете, но этот код отлично подходит для меня (я получаю один слайд со статическим изображением и один слайд с анимацией).

---

название: "презентация"

автор: "Я"

дата: "20 Фев 2019"

вывод: ioslides_presentation

---

## слайд 1

`` `{r, warning = F}

    library(ggplot2)
    library(gganimate)
    library(gapminder)

` ``

## slide 2

`` `{r}

ranim <- ggplot(gapminder, aes(x = gdpPercap,y=lifeExp, 
                                  size = pop,
                                  colour = country)) +
      geom_point(show.legend = FALSE, alpha = 0.7) +
      scale_color_viridis_d() +
      scale_size(range = c(2, 12)) +
      scale_x_log10() +
   labs(x = "GDP per capita", y = "Life expectancy")

` ``

## slide 3

`` `{r}

ranim

`` `

## slide 4

` `` {r}

 ranim2 <- ranim + 
transition_time(year) + 
labs(title = "Year: {frame_time}")

`` `

## слайд 5

`` `{r}

    animate(ranim2)

` ``

...