avriis
avriis

Reputation: 1681

Control alignment of two side-by-side plots in knitr

I cannot figure out how to arrange two side-by-side plots as explained in the knitr graphics manual page 2 (http://yihui.name/knitr/demo/graphics/). I use the following MWE and the output is below. I would like them to be aligned as shown in the manual for the two cars plots (also on page 2 of the manual). The pdf is generated in RStudio (Knit to PDF).

---
title: "Untitled"
output: pdf_document
---

## R Markdown

```{r,echo=FALSE,out.width='.49\\linewidth', fig.width=3, fig.height=3}

barplot(1:4)
barplot(4:7)

```

enter image description here

Upvotes: 24

Views: 45520

Answers (2)

dfrankow
dfrankow

Reputation: 21459

An alternative which worked for me: save the plots as files, then put the picture markdown on the same line (from here).

## Show images
![](file1.pdf) ![](file2.pdf)

You can save ggplot plot objects with ggsave.

Base plots are a bit more complicated, see for example here.

I'm putting this answer here because it helped me. Whether it's better for you or not depends on your situation.

Upvotes: 1

An economist
An economist

Reputation: 1311

To center two plots you can add fig.align='center'to your chunk options. If it produces one plot above the other add also fig.show='hold'. The result should be two centered graphs. Result

So your final chunk option should look something like:

{r,echo=FALSE, out.width='.49\\linewidth', fig.width=3, fig.height=3,fig.show='hold',fig.align='center'}

Upvotes: 39

Related Questions