R 将图像合并为ggplot2绘图的图例

R 将图像合并为ggplot2绘图的图例,r,ggplot2,png,legend,gridextra,R,Ggplot2,Png,Legend,Gridextra,我有一个图像,我想用作自定义图例-一个在一个图形中包含3个绘图的通用图例,与grid.arrange组合使用: 我想我可以用png或类似的软件包将其加载到R中,并使用grid.arrange将其放置在我的图形旁边。是否可以在已经包含用于制作组合图表的函数的包中包含此类图像,如果可以,将其放置在何处,以及如何从R代码中调用它,然后从其在包中的位置调用它。我打算经常在这个图例中使用这种图形 更新: 我在包结构的根目录中创建了一个名为“img”的文件夹,并将文件放在其中 在我的R代码中有一行: le

我有一个图像,我想用作自定义图例-一个在一个图形中包含3个绘图的通用图例,与grid.arrange组合使用:

我想我可以用png或类似的软件包将其加载到R中,并使用grid.arrange将其放置在我的图形旁边。是否可以在已经包含用于制作组合图表的函数的包中包含此类图像,如果可以,将其放置在何处,以及如何从R代码中调用它,然后从其在包中的位置调用它。我打算经常在这个图例中使用这种图形

更新:

我在包结构的根目录中创建了一个名为“img”的文件夹,并将文件放在其中

在我的R代码中有一行:
legend如果我理解的话,问题是如何确保在包中找到图像。您可以将png放在软件包的文件夹
img
下。用这样的方式来称呼它:

img <- readPNG(system.file("img", "Zwrch.png", package=package_name))
img描述如何引用已安装软件包中的文件,而不必知道软件包安装在何处。问题的另一部分是将映像文件放入已安装的包中

从中,感兴趣的部分是关于
inst
子目录:

inst
子目录的内容将递归复制到安装目录。
inst
的子目录不应干扰R使用的目录(目前,
R
data
demo
exec
libs
man
help
html
Meta
,以及早期版本使用的
latex
R-ex
)。
inst
的复制发生在构建
src
之后,以便其
Makefile
可以创建要安装的文件

因此,要使文件显示在安装包根目录下的
img
目录中,它必须显示在源目录的
inst/img
目录中。因此,将
rgblegend.png
img
移动到
inst/img
,然后

legend <- readPNG(system.file("img", "rgblegend.png", package="HybRIDS"), TRUE)

legend嗨,是的,这就是我想要做的,我已经尝试过了,但是我得到的错误是无法打开。我在包的根目录中创建了一个名为img的文件夹,将图像文件放入其中并构建了一个windows二进制文件,但它似乎不起作用,因为如果我深入我的R库并查看包“png”目录,我会看到一个img文件夹,但在包目录中我没有看到这样的文件夹。我确信我把所有的东西都拼对了——更新了原始问题。那么
inst
子文件夹呢?
legend <- readPNG(system.file("img", "rgblegend.png", package="HybRIDS"), TRUE)