tutorial - r markdown the definitive guide pdf
Baja resoluciĆ³n en knitr usando Rmd (3)
Es muy probable que desde que se hizo esta pregunta, el software haya mejorado. Vine a esta pregunta buscando la forma de aumentar la resolución de las parcelas. Encontré que el enfoque original de OP funcionaba de manera inmediata para mí.
Por lo tanto, la configuración de dpi=300
(porque dpi=150
no produjo una diferencia suficientemente obvia) en los parámetros del fragmento, produjo una imagen de calidad mucho mayor sin modificar el tamaño físico de las imágenes dentro de Word.
```{r, echo=FALSE, dpi=300, fig.width=7, fig.height=7}
plot(0,0,type="n",xlim=c(0,500), ylim=c(-12,0), las=1)
color <- rainbow(500)
text(380,-1,"Test",pos=4)
lseq <- seq(-6,-2,length.out=500)
for(j in seq_along(lseq)) {
lines(c(400,450), rep(lseq[j], 2), col=color[j])
}
polygon(c(400,450,450,400), c(-6,-6,-2,-2), lwd=1.2)
```
Sin embargo, establecer out.width
y out.height
elimina la producción de la imagen por completo, con la advertencia "fig.align, out.width, out.height, out.extra no son compatibles con la salida de Word".
Tengo un archivo .Rmd y estoy intentando crear un archivo .docx a través de la función pandoc.
Quiero tener una figura con una resolución final de 504x504 píxeles (es decir, 7x7 pulgadas con 72 ppp). Desafortunadamente, el valor predeterminado de 72 ppp es de baja calidad, y me gustaría aumentarlo a, por ejemplo, 150 ppp sin alterar la resolución final (por lo que ya tendrá el tamaño correcto dentro del archivo .docx). Si mantengo las opciones fig.width y fig.height = 7 y configuro dpi = 150, obtengo la calidad que quiero pero la resolución final aumenta y la cifra salta de los márgenes .docx. Intenté jugar con los argumentos out.width y out.ight, pero cuando los incluyo simplemente no se traza nada en la .docx final.
Ideas?
Ejemplo de código .rmd:
My title
-------------------------
*(this report was produced on: `r as.character(Sys.Date())`)*
That''s my plot
```{r echo=FALSE}
plot(0,0,type="n",xlim=c(0,500), ylim=c(-12,0), las=1)
color <- rainbow(500)
text(380,-1,"Test",pos=4)
lseq <- seq(-6,-2,length.out=500)
for(j in seq_along(lseq)) {
lines(c(400,450), rep(lseq[j], 2), col=color[j])
}
polygon(c(400,450,450,400), c(-6,-6,-2,-2), lwd=1.2)
```
Transformando en .docx
library(knitr)
library(markdown)
knit("example.Rmd") # produces the md file
pandoc("example.md", format = "docx") #prodces the .docx file
Si intento volver a escalar la figura, simplemente no funciona. Abajo:
My title
-------------------------
*(this report was produced on: `r as.character(Sys.Date())`)*
That''s my plot
```{r echo=FALSE, dpi=150, fig.width=7, fig.height=7, out.width=504, out.height=504}
plot(0,0,type="n",xlim=c(0,500), ylim=c(-12,0), las=1)
color <- rainbow(500)
text(380,-1,"Test",pos=4)
lseq <- seq(-6,-2,length.out=500)
for(j in seq_along(lseq)) {
lines(c(400,450), rep(lseq[j], 2), col=color[j])
}
polygon(c(400,450,450,400), c(-6,-6,-2,-2), lwd=1.2)
```
Este es un buen momento para aprovechar las funciones de personalización dinámica incorporadas de knitr para los tipos de salida. Ths fue probado con ambos objetivos de salida ...
````{r img-setup, include=FALSE, cache=FALSE}
out.format <- knitr::opts_knit$get("out.format")
img_template <- switch( out.format,
word = list("img-params"=list(fig.width=6,
fig.height=6,
dpi=150)),
{
# default
list("img-params"=list( dpi=150,
fig.width=6,
fig.height=6,
out.width="504px",
out.height="504px"))
} )
knitr::opts_template$set( img_template )
````
Si no desea usar img_template para cada imagen producida, no puede llamar a la función set y en su lugar agregar opts.label="img_template"
a los parámetros de los fragmentos con los que desea usarla, o anular la img_template por especificando los params explícitamente para el trozo.
Simplemente mantenga las cosas simples, configure todos los mandriles a ppp de 300 y amplíelos.
Ejecutar esto primero:
```{r setup, include=FALSE} knitr::opts_chunk$set(dpi=300,fig.width=7) ```