tutorial results guide font examples r knitr pandoc beamer r-markdown

guide - r markdown results



Tamaño de trazado y resolución con reducción de R, knitr, pandoc, beamer (2)

No cabe en la diapositiva por defecto, ni siquiera se imprime por otros medios.

Aquí está el .Rmd: Editar: parece que tienes que usar plot () en cada fragmento. El segundo gráfico ahora se imprime.

# 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) ```

Guarde eso como test.Rmd Luego compile en tex usando beamer:

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

Abra test.tex en RStudio y haga clic en "Compilar PDF".

He leído la documentación de Yihui y espero no haberme perdido algo realmente obvio.

Edite un nuevo código que incorpore las sugerencias de Yihui.

```{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


Creo que es una pregunta frecuente sobre el comportamiento de las figuras en las diapositivas producidas por Pandoc y las rebajas. El verdadero problema es que R Markdown produce imágenes PNG por defecto (de knitr ), y es difícil obtener el tamaño correcto de las imágenes PNG en LaTeX (no sé por qué). Sin embargo, es bastante fácil obtener el tamaño correcto de las imágenes PDF. Una solución es restablecer el dispositivo gráfico predeterminado a PDF en su primer fragmento:

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

Entonces todas las imágenes se escribirán como archivos PDF y LaTeX estará feliz.

Su segundo problema es que está mezclando las unidades HTML con unidades LaTeX en out.width / out.height . LaTeX y HTML son tecnologías muy diferentes. No debe esperar que /maxwidth funcione en HTML, o 200px en LaTeX. Especialmente cuando quiera convertir Markdown a LaTeX, será mejor que no establezca out.width / out.height (use fig.width / fig.height y deje que LaTeX use el tamaño original).


Los tamaños de figura se especifican en pulgadas y pueden incluirse como una opción global del formato de salida del documento. Por ejemplo:

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

Y el tamaño de la trama en el dispositivo gráfico se puede aumentar a nivel de fragmento:

```{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 ```

También puede usar los argumentos out.width y out.height para definir directamente el tamaño del gráfico en el archivo de salida:

```{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 ```