【发布时间】:2015-12-02 10:16:25
【问题描述】:
我想使用 knitr/rmarkdown 生成一个 html 文档。目前,该文件超过 20MB,我正试图找到一种方法来减少它。大文件可能是由于我的情节中有很多点。
如果我将输出类型更改为 pdf,我可以将其减少到 1.7MB。我想知道是否有办法减少我的文件,同时将其保留为 html。
编辑:这是我在 RStduio 中所做的一个最小工作示例。
---
title: "Untitled"
author: "My Name"
date: "September 7, 2015"
output: html_document
---
```{r}
library(ggplot2)
knitr::opts_chunk$set(dev='svg')
```
```{r}
set.seed(1)
mydf <- data.frame(x=rnorm(2e4),y=rnorm(2e4))
ggplot(mydf, aes(x,y)) + geom_point(alpha=0.6)
```
我还注意到,如果我有太多观察结果,则根本不会生成图。我只是在输出中得到一个带有问号的空框。
```{r}
set.seed(2)
mydf <- data.frame(x=rnorm(5e4),y=rnorm(5e4))
ggplot(mydf, aes(x,y)) + geom_point(alpha=0.6)
# ...plot doesn't appear in output
```
【问题讨论】:
-
具有许多观察值的散点图在矢量格式中可能比光栅图像更重,但如果这不是您当前项目的问题,您可以尝试使用 SVG 或更低分辨率图片。
-
@daroczig 我试过 svg,它确实有点帮助,但你能描述一下如何降低分辨率,因为我想进一步减小文件大小,我不介意是否必须牺牲画质。我通过添加一个最小的工作示例来编辑我的帖子。
-
如果使用
knitr,请参阅chunk options,尤其是dip设置。
标签: html rstudio knitr resolution r-markdown