2012-07-24 11 views
7

Usando knitr y markdown paquetes para tejer archivos Rmd para marcar y luego html está produciendo un comportamiento inesperado en la forma en que los gráficos ggplot2 están apareciendo en el archivo html final.Grafica cambios sutiles después de usar knitr desde el marcado

Por ejemplo, utilizando el siguiente archivo Rmd diamond.Rmd

# ggplot2 graph shows up fainter, and text smaller 

```{r echo=FALSE, message=FALSE, warning=FALSE} 
opts_chunk$set(fig.width=18, fig.height=10) 
require(ggplot2) 
``` 

*** 

# Simple Plot 
```{r echo=FALSE, message=FALSE, warning=FALSE} 
data(diamonds) 
g <- ggplot(diamonds, aes(carat, depth, colour=color)) + geom_point() + facet_wrap(~cut) 
g 
``` 

con este archivo knit.R

require(markdown) 
require(knitr) 
knit('diamonds.Rmd') 
markdownToHTML('diamonds.md', 'diamonds.html', options=c('base64_images')) 
browseURL(paste('file://', file.path(getwd(), 'diamonds.html'), sep='')) 

me he tomado un screeenshot de la trama en el archivo html e incluí a continuación (hay una mejor manera de mostrar esto?):

plot from html file

La trama dentro del archivo html es más clara, es decir, el color es menos oscuro. Además, el texto de la gráfica, incluidas las etiquetas de los ejes y las etiquetas de las marcas de graduación, son más pequeñas y livianas, lo que las hace muy difíciles de leer.

Si miras la trama creada directamente desde R, verás que no tiene esos problemas.

plot directly from R

supongo que esto es una cuestión con mi dispositivo gráfico o el dispositivo de gráficos que knitr está utilizando.

¿Hay alguna manera de forzar las tramas que finalmente terminan en el archivo html para mantener la apariencia original de la trama, es decir, para mantenerse más oscuro y tener texto más grande?

+0

Gracias por preguntar. También estoy teniendo el mismo problema: la calidad de los gráficos ggplot2 generados con Rmarkdown/kintr en RStudio en el formato html es muy pobre en comparación con los dispositivos normales pdf o png. Usar la opción device = "png"/"pdf" guarda estos trazados en una nueva carpeta llamada figures, pero también son de mala calidad. –

+6

el problema es el ancho y la altura que ha especificado. si usa 'fig.width = 7' y' fig.height = 7', debería obtener los mismos resultados que en la consola, ya que es el predeterminado. Tenga en cuenta que puede usar la opción 'dpi' para controlar el tamaño de píxel, pero tenga cuidado ya que el tamaño final será de dpi x ancho. – Ramnath

+8

si desea conservar el mismo tamaño de figura pero tiene un tamaño de píxel más alto, use 'fig.width = 9',' fig.height = 5' y 'dpi = 144' (el dpi predeterminado es 72). Esto le daría un diagrama del mismo tamaño pero con píxeles y texto más grandes. – Ramnath

Respuesta

4

Como sugiere @Ramnath:

Si desea conservar el mismo tamaño figura, pero tienen una mayor utilización tamaño de píxel:

fig.width = 9, fig.height = 5, dpi = 144

La dpi por defecto es 72, esto le dará un diagrama del mismo tamaño pero con píxeles y texto más grandes.

Cuestiones relacionadas