Create a ggplot with axes set to pixel coordinates and plot the raster image on it using ggplot2::annotation_raster. See examples for how to plot an image onto an existing ggplot.

image_ggplot(image, interpolate = FALSE)



magick image object returned by image_read() or image_graph()


passed to ggplot2::annotation_raster


# Plot with base R plot(logo)
# Plot image with ggplot2 library(ggplot2) myplot <- image_ggplot(logo) myplot + ggtitle("Test plot")
# Show that coordinates are reversed: myplot + theme_classic()
# Or add to plot as annotation image <- image_fill(logo, 'none') raster <- as.raster(image) myplot <- qplot(mpg, wt, data = mtcars) myplot + annotation_raster(raster, 25, 35, 3, 5)
# Or overplot image using grid library(grid) qplot(speed, dist, data = cars, geom = c("point", "smooth"))
#> `geom_smooth()` using method = 'loess' and formula 'y ~ x'