Rmarkdown 绘图和图像并排

时间:2021-02-11 15:04:42

标签: r-markdown

我正在用 R markdown 编写一份报告。 我知道有一种方法可以并排显示不同的情节,也有一种方法可以并排显示不同的图像。

但是否也可以并排显示绘图和图像?

我有一个 ggplot 条形图,我想在地图图像旁边显示它,如果我将图像放在图表下方,它会占用太多空间。

谢谢, 问候, 芙蕾雅

1 个答案:

答案 0 :(得分:1)

这对你有用。以下是分步说明,括号内标有代码。

首先,您需要通过创建对象 (y) 来加载图像 (photo)。

其次,您使用图像 (photo_panel) 创建一个 ggplot。

最后,在创建绘图 (p1) 后,您使用库 cowplot 绘制网格 (plot_grid)。


.Rmd 文件:

---
title: "Image + graph"
author: bttomio
output: pdf_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```

## R Markdown

```{r image_graph}

y = "http://upload.wikimedia.org/wikipedia/commons/5/5d/AaronEckhart10TIFF.jpg"
download.file(y,'y.jpg', mode = 'wb')

library("jpeg")
photo <- readJPEG("y.jpg",native=TRUE)

library(ggplot2)
library(cowplot)
photo_panel <- ggdraw() + draw_image(photo, scale = 0.8)

df <- data.frame(Years=rep(2016:2017, each=4),
                 Quarters=rep(paste0("Q", 1:4), 2),
                 Series1=seq(100, 800, 100))

library(ggplot2)
p1 <- ggplot(df) +
  geom_point(aes(x=Quarters, y=Series1)) + 
  facet_wrap( ~ Years, strip.position="bottom", scales="free_x") + 
  theme(panel.spacing=unit(0, "lines"), 
        strip.background=element_blank(), 
        strip.placement="outside", 
        aspect.ratio=1)  # set aspect ratio

plot_grid(p1, photo_panel, ncol = 2)
```

输出:

enter image description here

相关问题