Using knitr
and markdown
packages to weave Rmd files to markdown and then html is producing some unexpected behavior in the way that ggplot2 graphs are appearing in the final html file.
For example, using the following Rmd file 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
```
with this file 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=''))
I've taken a screeenshot of the plot in the html file and included it below (is there a better way to show this?):
The plot inside the html file is lighter, ie the color is less dark. Also, the text on the plot, including the axis labels and the tick mark labels are smaller and lighter, making them very difficult to read.
If you look at the plot created directly from R, you'll see it doesn't have those problems.
I'm guessing this is some issue with my graphical device or the graphics device that knitr is using.
Is there a way to force the plots that eventually end up in the html file to keep the original plot appearance, ie to stay darker and have larger text?
As suggested by @Ramnath:
If you want to retain the same figure size but have a higher pixel size use:
fig.width = 9, fig.height = 5, dpi = 144
The default dpi is 72, this would give you a plot of the same size but with bigger pixels and text.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With