У вас есть как минимум два варианта sh этого:
создать новый график, прочитать в файле изображения и нарисовать его на графике. Это будет отображаться на устройстве изображения, например, x11, pdf, панели просмотра изображений Rstudio («Графики») и т. Д. c в зависимости от того, какое приложение вы используете; см. f
ниже
создать файл html для ссылки на файл изображения. Затем его можно открыть в браузере по умолчанию или на панели просмотра Rstuio («Средство просмотра»), в зависимости от того, что вы используете; см. g
ниже
library('rsvg')
str <- charToRaw('<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg">
<style>
circle {
fill: gold;
stroke: maroon;
stroke-width: 10px;
}
</style>
<circle cx="150" cy="150" r="100" />
</svg>')
rsvg_png(str, file = '~/desktop/ex1.png')
## open in the R/RGui/Rstudio image viewer
f('~/desktop/ex1.png')
## open in Rstudio viewer or browser in R/Rgui
g('~/desktop/ex1.png')
functions:
## image viewer
f <- function(img) {
img <- png::readPNG(img)
plot.new()
plot.window(0:1, 0:1, asp = 1)
rasterImage(img, 0, 0, 1, 1)
}
## html viewer/browser
g <- function(img, use_viewer = TRUE) {
file.copy(img, tempdir(), overwrite = TRUE)
tmp <- tempfile(fileext = '.html')
writeLines(sprintf('<img src="%s"> ', basename (img)), con = tmp) if (use_viewer) tryCatch (rstudioapi :: viewer (tmp), error = function (e) browseURL (tmp)) else browseURL (tmp)}