我正在用 R markdown 编写一份报告。 我知道有一种方法可以并排显示不同的情节,也有一种方法可以并排显示不同的图像。
但是否也可以并排显示绘图和图像?
我有一个 ggplot 条形图,我想在地图图像旁边显示它,如果我将图像放在图表下方,它会占用太多空间。
谢谢, 问候, 芙蕾雅
答案 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)
```
输出: