Mehrere Bilder mit einer einzigen Beschriftung einfügen

Mehrere Bilder mit einer einzigen Beschriftung einfügen

Ich versuche, mit knitr nebeneinander Bilder mit einer Beschriftung einzufügen:

---
title: "XY"
author: "Doogan"
date: '`r format(Sys.Date(), "%B %d, %Y")`'
graphics: yes
output:
pdf_document:
  toc: no
  fig_caption: true
fontsize: 11pt
geometry: margin=1cm
---

```{r Directory, echo=F, message=F, warning=FALSE, paged.print=TRUE}

image.dir <- "your/directory/"
knitr::opts_chunk$set(echo = FALSE)

```

```{r 'xy_images' 
,fig.show='hold',fig.pos='H',out.height='7.5cm',out.width='10cm',fig.cap="X 
image (A) and Y image (B)"}

knitr::include_graphics(file.path(image.dir, 'X.png'))
knitr::include_graphics(file.path(image.dir, 'Y.png'))

```

Der obige Code erzeugt zwei gestapelte Bilder mit zwei separaten (identischen) Beschriftungen:

Bildbeschreibung hier eingeben

Wenn der Aufruf „fig.cap“ entfernt wird, werden die Abbildungen korrekt ausgerichtet, jedoch ohne Beschriftung.

Wie kann ich meinen Codeblock so ändern, dass die Bilder nebeneinander ausgerichtet sind und nur eine einzige Beschriftung angezeigt wird?

Verwendetes Bild:Bildbeschreibung hier eingeben

Antwort1

Ich habe eine Lösung für dieses Problem gefunden, indem ich die PNG-Bilder als Raster im selben Plotfenster plottete:

```{r 'xy_images', fig.width = 8,fig.height = 4.5, 
    fig.show='hold',fig.pos='H'fig.cap="X image (A) and Y image (B)"}


library(png);library(raster)

X <-readPNG("X.png")
Y <-readPNG("Y.png")

#set up figure
par(mar=c(0,0,0,0), xpd=NA, mgp=c(0,0,0), 
    oma=c(0,0,0,0), ann=F, mfrow = c(1,2))
plot.new()
usr<-par("usr")

#fill plot with images
rasterImage(X, usr[1], usr[3], usr[2], usr[4])
rasterImage(Y, usr[1]+1.1, usr[3], usr[2]+1.1, usr[4])

``` 

verwandte Informationen