You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R 3.4.4中加载显示URL图片?EBImage无法安装

替代EBImage在老版本R中下载并显示图片的方案

你遇到的问题很常见——EBImage是Bioconductor上的包,而R 3.4.4是比较老旧的版本(发布于2018年),很多新包包括EBImage已经不再支持这个版本了。不过不用担心,有几个更兼容老版本R的工具可以实现下载并显示图片的需求,下面给你几个实用的方案:

方案1:使用png + grid包(基础且稳定)

png包是CRAN上的基础包,对老版本R支持很好,配合grid包可以轻松显示图片:

首先安装依赖包:

install.packages("png")
install.packages("grid")

然后运行以下代码:

library(png)
library(grid)

# 下载图片到临时文件(避免本地留存)
temp_img <- tempfile(fileext = ".png")
download.file("https://www.yr.no/assets/images/logo-yr-50.png", temp_img, mode = "wb")

# 读取图片并显示
img_data <- readPNG(temp_img)
grid.raster(img_data)

注意:download.file必须加mode = "wb",因为图片是二进制文件,不加的话会导致图片损坏无法读取。

方案2:使用magick包(更便捷,支持多格式)

magick是功能强大的图像处理包,支持直接从URL读取图片,不用手动下载到本地。如果你的R 3.4.4能安装它的话,这会是更省心的选择:

安装包:

install.packages("magick")

使用代码:

library(magick)

# 直接读取URL图片并显示
img <- image_read("https://www.yr.no/assets/images/logo-yr-50.png")
image_display(img)

方案3:使用Base R + png包(无需额外绘图包)

如果你习惯用Base R的绘图系统,可以用plot配合rasterImage来显示图片:

install.packages("png")
library(png)

# 下载图片到本地文件
download.file("https://www.yr.no/assets/images/logo-yr-50.png", "yr_logo.png", mode = "wb")

# 读取图片
img_data <- readPNG("yr_logo.png")

# 创建空白绘图区域,然后插入图片
plot(0:1, 0:1, type = "n", axes = FALSE, xlab = "", ylab = "")
rasterImage(img_data, 0, 0, 1, 1)

额外建议

如果条件允许,强烈建议你升级到最新版本的R。老版本R不仅会错过很多新功能,还会面临包兼容性问题(像这次的EBImage就是例子),而且新版本的R在性能和稳定性上都有很大提升。

内容的提问来源于stack exchange,提问作者Idle Man

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:32:52