The size of plots made in R can be controlled by the chunk option fig.width and fig.height (in inches). Equivalently, you can use the fig.dim option to specify the width and height in a numeric vector of length 2, e.g., fig.dim = c(8, 6) means fig.width = 8 and fig.height = 6. These options set the physical size of plots, and you can choose to display a different size in the output using chunk options out.width and out.height, e.g., out.width = "50%".

    If a plot or an image is not generated from an R code chunk, you can include it in two ways:

    • Use the Markdown syntax ![caption](path/to/image). In this case, you can set the size of the image using the width and/or height attributes, e.g.,

      1. We include an image in the next paragraph:
      2. ![A nice image.](foo/bar.png){width=50%}
    • Use the knitr function knitr::include_graphics() in a code chunk. You can use chunk options such as out.width and out.height for this chunk, e.g.,

      1. We include an external image with the R function:
      2. ```{r, echo=FALSE, out.width="50%", fig.cap="A nice image."}
      3. knitr::include_graphics("foo/bar.png")
      4. ```

    We used the width 50% in the above examples, which means half of the width of the image container (if the image is directly contained by a page instead of a child element of the page, that means half of the page width). If you know that you only want to generate the image for a specific output format, you can use a specific unit. For example, you may use 300px if the output format is HTML.