如何在 RStudio 查看器窗格中显示 PNG 文件?
How to display a PNG file in RStudio viewer pane?
如果我有一个 .PNG 文件,是否有一种简单的方法可以在 RStudio 查看器窗格中显示它?
使用这个答案 我可以使用
在绘图窗格中显示它
library(png)
filename <- system.file("img", "Rlogo.png", package="png") # or your own file
img <- readPNG(filename)
grid::grid.raster(img)
将其放入查看器窗格的复杂方法是:
temp <- tempfile(fileext = ".html")
writeLines(as.character(htmltools::img(src=knitr::image_uri(filename))), temp)
getOption("viewer")(temp)
但是有没有更简单的方法呢?例如。在某个包中是否有一个现有的函数可以在一次调用中完成这个,比如
showPNG(filename)
?我可以在这样的函数中编写我的代码,但我更愿意使用别人的代码,这些代码已经过测试并且可能适用于更广泛的环境,而不仅仅是 RStudio 等。
编辑添加:我一直在仔细查看我接受的答案(因为我想避免依赖 magick
包),并发现了一些令我惊讶的事情:如果 filename
是 "preview.png"
,则 getOption("viewer")(filename)
将在查看器窗格中显示。 magick::image_read
很灵活,可以处理许多其他情况,但对我来说,基本上只是复制和重命名文件!
使用 R 包魔法:
library(magick)
#> Linking to ImageMagick 7.0.10.26
#> Enabled features: cairo, fontconfig, freetype, lcms, pango, rsvg, webp, x11
#> Disabled features: fftw, ghostscript
#> Using 4 threads
# Assuming png package is installed.
filename <- system.file("img", "Rlogo.png", package="png")
image_read(filename)
由 reprex package (v0.3.0)
于 2020-08-28 创建
如果我有一个 .PNG 文件,是否有一种简单的方法可以在 RStudio 查看器窗格中显示它?
使用这个答案 我可以使用
在绘图窗格中显示它library(png)
filename <- system.file("img", "Rlogo.png", package="png") # or your own file
img <- readPNG(filename)
grid::grid.raster(img)
将其放入查看器窗格的复杂方法是:
temp <- tempfile(fileext = ".html")
writeLines(as.character(htmltools::img(src=knitr::image_uri(filename))), temp)
getOption("viewer")(temp)
但是有没有更简单的方法呢?例如。在某个包中是否有一个现有的函数可以在一次调用中完成这个,比如
showPNG(filename)
?我可以在这样的函数中编写我的代码,但我更愿意使用别人的代码,这些代码已经过测试并且可能适用于更广泛的环境,而不仅仅是 RStudio 等。
编辑添加:我一直在仔细查看我接受的答案(因为我想避免依赖 magick
包),并发现了一些令我惊讶的事情:如果 filename
是 "preview.png"
,则 getOption("viewer")(filename)
将在查看器窗格中显示。 magick::image_read
很灵活,可以处理许多其他情况,但对我来说,基本上只是复制和重命名文件!
使用 R 包魔法:
library(magick)
#> Linking to ImageMagick 7.0.10.26
#> Enabled features: cairo, fontconfig, freetype, lcms, pango, rsvg, webp, x11
#> Disabled features: fftw, ghostscript
#> Using 4 threads
# Assuming png package is installed.
filename <- system.file("img", "Rlogo.png", package="png")
image_read(filename)
由 reprex package (v0.3.0)
于 2020-08-28 创建