revealjsでincrementalに図を表示する (R
{revealjs}メモ
最近は基本的にrevealjs
でスライドを作るようにしている。スライド内で、差分的に画像を出したい場合のメモ (点プロットで散布図 -> 回帰直線を追加、など)。
fig1 <-
ggplot2::ggplot(iris, aes(Sepal.Length, Petal.Length, col = Species, group = Species)) +
ggplot2::geom_point()
fig2 <-
fig1 +
ggplot2::geom_smooth(method = "lm")
cowplot::plot_grid(fig1, fig2)
以下のように、rmarkdown上で直接htmlタグを入れてもいいが、面倒。
# <!-- 先に領域を作る -->
# <div style="position:relative; top:0px; width:800px; height:600px; margin:0 auto;">
# <!-- 領域内で同じ絶対位置にプロット -->
# <div style="position:absolute;top:0;left:0;" class = "fragment" data-fragment-index="1">
# ```{r}
# fig1
# ```
# </div>
# <div style="position:absolute;top:0;left:0;" class = "fragment" data-fragment-index="3">
# ```{r}
# fig2
# ```
# </div>
# </div>
#
# <div class="fragment" data-fragment-index="2">- 散布</divs>
# <div class="fragment" data-fragment-index="4">- 回帰</div>
knitr
のhook
で解決する。
hook_fragment <-
function(before, options, envir) {
if (before) {
before_chunk <- paste0("<div class='fragment' data-fragment-index='", options$fragment,"' style='position:absolute;top:0;left:0'>")
} else {
after_chunk <- "</div>"
## code to be run after a chunk
}
}
knitr::knit_hooks$set(fragment = hook_fragment)
# <div style="position:relative; top:0px; width:800px; height:600px; margin:0 auto;">
# ```{r fragment = "1", echo = F}
# fig1
# ```
# ```{r fragment = "3", echo = F}
# fig2
# ```
# </div>
#
# <div class="fragment" data-fragment-index="2">- 散布</divs>
# <div class="fragment" data-fragment-index="4">- 回帰</div>
minimalなRmdファイル -> link
参考
devtools::session_info()
## Session info --------------------------------------------------------------
## setting value
## version R version 3.3.1 (2016-06-21)
## system x86_64, darwin13.4.0
## ui X11
## language (EN)
## collate en_US.UTF-8
## tz Asia/Tokyo
## date 2018-03-19
## Packages ------------------------------------------------------------------
## package * version date source
## colorspace 1.2-6 2015-03-11 CRAN (R 3.3.1)
## cowplot 0.9.1 2017-11-16 CRAN (R 3.3.2)
## devtools 1.12.0 2016-06-24 CRAN (R 3.3.0)
## digest 0.6.13 2017-12-14 cran (@0.6.13)
## evaluate 0.10.1 2017-06-24 cran (@0.10.1)
## ggplot2 * 2.2.1.9000 2018-02-13 Github (thomasp85/ggplot2@7859a29)
## gtable 0.2.0 2016-02-26 CRAN (R 3.3.1)
## highr 0.6 2016-05-09 CRAN (R 3.3.1)
## knitr 1.17 2017-08-10 cran (@1.17)
## labeling 0.3 2014-08-23 CRAN (R 3.3.1)
## lazyeval 0.2.1 2017-10-29 cran (@0.2.1)
## magrittr 1.5 2014-11-22 CRAN (R 3.3.1)
## memoise 1.0.0 2016-01-29 CRAN (R 3.3.1)
## munsell 0.4.3 2016-02-13 CRAN (R 3.3.1)
## plyr 1.8.4 2016-06-08 CRAN (R 3.3.1)
## Rcpp 0.12.14 2017-11-23 cran (@0.12.14)
## rlang 0.1.6.9003 2018-02-13 Github (tidyverse/rlang@616fd4d)
## scales 0.5.0.9000 2017-12-23 Github (hadley/scales@d767915)
## stringi 1.1.6 2017-11-17 CRAN (R 3.3.2)
## stringr 1.3.0 2018-02-19 CRAN (R 3.3.1)
## tibble 1.3.4 2017-08-22 cran (@1.3.4)
## withr 2.1.1.9000 2017-12-23 Github (jimhester/withr@df18523)