情节大小和分辨率与 R 标记,编织,潘多克,激光飞船

不适合幻灯片默认情况下,甚至不打印任何其他方式。

这就是,注意: 编辑: 似乎你必须在每个块中使用 plot ()。现在打印第二个 plot。

# Plot should show at high resolution


```{r echo=FALSE, comment = ""}
# load some data
require(plyr)
rbi <- ddply(baseball, .(year), summarise,
mean_rbi = mean(rbi, na.rm = TRUE))
```


```{r}
# plot
plot(mean_rbi ~ year, type = "l", data = rbi)
```


# Second attempt
```{r, fig.width = 2, fig.height = 2}
plot(mean_rbi ~ year, type = "l", data = rbi)
```


# Third attempt
```{r, out.width = 2, out.height = 2}
plot(mean_rbi ~ year, type = "l", data = rbi)
```


# Fourth attempt
```{r, out.width = '200px', out.height = '200px'}
plot(mean_rbi ~ year, type = "l", data = rbi)
```


# Fifth attempt
```{r, out.width = '\\maxwidth'}
plot(mean_rbi ~ year, type = "l", data = rbi)
```

保存为 test.Rmd 然后使用激光器编译成 tex:

knit("test.Rmd")
system("pandoc -s -t beamer --slide-level 1 test.md -o test.tex")

在 RStudio 中打开 test.tex,然后单击“编译 PDF”。

我读过益辉的 文件,希望我没有错过什么真正明显的东西。

编辑 纳入益辉建议的新代码。

```{r setup, include=FALSE}
opts_chunk$set(dev = 'pdf')
```


# Plot should show at high resolution


```{r echo=FALSE, comment = ""}
# load some data
require(plyr)
rbi <- ddply(baseball, .(year), summarise,
mean_rbi = mean(rbi, na.rm = TRUE))
```


```{r}
# plot
plot(mean_rbi ~ year, type = "l", data = rbi)
```


# Second attempt
```{r, fig.width = 4, fig.height = 4}
plot(mean_rbi ~ year, type = "l", data = rbi)
```

sessionInfo()

 R version 3.0.1 (16/05/2013)
Platform: x86_64-pc-linux-gnu (64-bit)


Local:
[1] LC_CTYPE = en_US.UTF-8 LC_NUMERIC = C LC_TIME = C LC_COLLATE = C
[5] LC_MONETARY=C        LC_MESSAGES=C        LC_PAPER=C           LC_NAME=C
[9] LC_ADDRESS=C         LC_TELEPHONE=C       LC_MEASUREMENT=C     LC_IDENTIFICATION=C


attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base


other attached packages:
[1] plyr_1.8       markdown_0.6   knitr_1.2      rCharts_0.3.51 slidify_0.3.52


loaded via a namespace (and not attached):
[1] RJSONIO_1.0-3   codetools_0.2-8 digest_0.6.3    evaluate_0.4.3  formatR_0.8
[6] grid_3.0.1      lattice_0.20-15 stringr_0.6.2   tools_3.0.1     whisker_0.3-2
[11] yaml_2.1.7
118980 次浏览

我认为这是一个经常被问到的问题,关于数字的行为在激光器幻灯片生产的 Pandoc 和降价。真正的问题是,R Markdown 在默认情况下生成 PNG 图像(来自 knitr) ,而且在 LaTeX 中很难在默认情况下获得正确的 PNG 图像大小(我不知道为什么)。然而,获得正确的 PDF 图像大小相当容易。一种解决方案是在第一个块中将默认的图形设备重置为 PDF:

```{r setup, include=FALSE}
knitr::opts_chunk$set(dev = 'pdf')
```

然后所有的图像将被写成 PDF 文件,LaTeX 会很高兴。

第二个问题是在 out.width/out.height中混淆了 HTML 单元和 LaTeX 单元。LaTeX 和 HTML 是非常不同的技术。您不应该期望 \maxwidth在 HTML 中工作,或者 200px在 LaTeX 中工作。特别是当您想要将 Markdown 转换为 LaTeX 时,您最好不要设置 out.width/out.height(使用 fig.width/fig.height并让 LaTeX 使用原始大小)。

图形大小以英寸指定,可以作为文档输出格式的全局选项包括在内。例如:

---
title: "My Document"
output:
html_document:
fig_width: 6
fig_height: 4
---

图形设备中的图形大小可以在块级别上增加:

```{r, fig.width=14, fig.height=12}          #Expand the plot width to 14 inches


ggplot(aes(x=mycolumn1, y=mycolumn2)) +     #specify the x and y aesthetic
geom_line(size=2) +                         #makes the line thicker
theme_grey(base_size = 25)                  #increases the size of the font
```

您还可以使用 out.widthout.height参数直接定义输出文件中绘图的大小:

```{r, out.width="200px", out.height="200px"} #Expand the plot width to 200 pixels


ggplot(aes(x=mycolumn1, y=mycolumn2)) +     #specify the x and y aesthetic
geom_line(size=2) +                         #makes the line thicker
theme_grey(base_size = 25)                  #increases the size of the font
```