как объединить импортированное изображение с другими графиками R?

#r

Вопрос:

Я импортировал изображение ниже и хотел бы объединить его с некоторыми тепловыми картами и графиками ggplot2. Но возникли ошибки при расчесывании изображения с другими участками Могу ли я получить вашу помощь, пожалуйста

 my_image <- magick::image_read("Capture.PNG")
test  <- matrix(rnorm(200), 20, 10)
mfs  <- pheatmap::pheatmap(test)

library(ggplot2)
library(dplyr)
 plot_LM <-  test %>% as.data.frame() %>%
    ggplot(aes(x=V1, y=V2))  
    geom_point(color="blue")   
    geom_smooth(method=lm, se=FALSE, fullrange=TRUE,
                linetype="dashed",
                color="darkred", fill="blue")

gridExtra::grid.arrange(grobs=list(mfs$gtable, plot_LM, my_image ), 
                         ncol= 3, labels=LETTERS[1:3])
 

Всего наилучшего,
Амаре

Ответ №1:

Вы можете создать несколько ggplot2 объектов, а затем объединить их с помощью patchwork :

 library(dplyr)
library(ggplot2) 
library(magick)
#> Linking to ImageMagick 6.9.10.23
#> Enabled features: fontconfig, freetype, fftw, lcms, pango, webp, x11
#> Disabled features: cairo, ghostscript, heic, raw, rsvg
#> Using 12 threads
library(patchwork)

plt1 <- image_read("https://bellard.org/bpg/2.png") %>%
  image_ggplot()
plt2 <- qplot(Sepal.Length, Sepal.Width, data = iris)

plt1 | plt2