【问题标题】:How to use a "R-generated" plot as a semi-transparent background in an HTML5 slide made by knitr?如何在 knitr 制作的 HTML5 幻灯片中使用“R 生成”图作为半透明背景?
【发布时间】:2012-12-11 04:07:15
【问题描述】:

我想在 (HTML5) 幻灯片的第一页中添加一个绘图。我可以以动态的方式实现这一点吗?比如说,背景图像将由 R 代码生成,而不是插入半透明的 PNG 图像。谢谢你。

更新:我想要的是

【问题讨论】:

    标签: html r knitr pandoc


    【解决方案1】:

    您可以使用块选项dev.args 来实现此目的。您需要正确调整图像大小以适合您的幻灯片。

    ```{r dev.args = list(bg = 'transparent')}
     plot(1:10, 1:10)
    ```
    

    这个块将生成一个透明的 png。请阅读文档? png 以获取您可以传递的参数列表。这是来自文档的有用信息。

    png 支持透明背景:使用 bg = "transparent"。 (并非所有 PNG 查看器都能正确呈现具有透明度的文件。)

    更新。对于使用ggplot2 的绘图,可以使用alpha 参数来控制透明度。

    ```{r dev.args = list(bg = 'transparent'), echo = F, comment = NA, message = F}
    library(ggplot2)
    ggplot(mtcars, aes(wt, mpg)) +
      geom_point(alpha = 0.1) + 
      geom_smooth(alpha = 0.1)
    ```
    

    更新2。要将动态图像用作背景,您需要动态设置幻灯片的背景。这可以在slidify中轻松实现[披露:我是作者]

    这是一个gist,带有一个 Rmd 文件,滑动后会显示透明背景。

    【讨论】:

    • 对于ggplot2,您必须使用alpha 来控制图像的透明度。查看我的编辑。
    • 谢谢,但“项目”仍在情节下方。
    • 哦,我现在明白了。您希望它作为幻灯片背景。这是你可以做的。查看我的编辑。
    • 哇~ Slidify 看起来棒极了!我一定会试一试的。但我对工具链很困惑:Slidify、knitr、Rmd、md、pandoc 和 slides。我的理解是:knitr 实现了 Rmd; Rmd 为 md 提供 R 扩展(执行代码块等); pandoc 将 md 转换为幻灯片。我可以说 Slidify 是 knitr 的强大扩展吗?
    • @ziyuang 你说得对,slidifyknitrmarkdown 的封装,可以很容易地从 R markdown 生成 html 幻灯片。
    猜你喜欢
    • 2011-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-23
    • 2011-03-14
    • 2021-12-09
    • 2013-09-06
    相关资源
    最近更新 更多