3

我在 R 中使用 maps 包来绘制一个简单的地理地图,然后将我的数据点放入其中。

我的问题是,R 中是否有任何方法可以用感兴趣的图片来表示数据点,例如,我在示例中正在研究的动物。

这只是为了让我的读者更好地表示我的数据点相对于彼此的分布。

4

3 回答 3

3

您也可以使用网格包。grid.raster可以用来放一些图片。

由于maps是图形基础包,您需要gridBase组合网格/基础图形。

这里有一个例子:

library(maps)
map('usa',boundary=T,fill=T,col='grey')
library(gridBase)
library(grid)
library(png)
vps <- baseViewports()
pushViewport(vps$figure,vps$plot)
camel <- readPNG("camel.png")    ## some animal picture
grid.rect(gp = gpar(fill=NA))

x <- c(-110,-100,-70)
y <- c(30,40,40)

grid.raster(image=camel,x=x,y=y,width=5,   ## it is vectorized
            interpolate=FALSE,default.units = 'native')
upViewport(1)

在此处输入图像描述

PS:我不确定美国有骆驼...

于 2013-01-28T17:43:35.963 回答
2

rasterImage是一种方法,尽管有些费力。将感兴趣的图像格式化为光栅对象后,您可以将它们放置在绘图区域内的指定位置(和帧大小)。

于 2013-01-28T16:41:28.480 回答
1

除了rasterImage@CarlWitthoft 提到的功能之外,还有来自于 TeachingDemos 包的组合,my.symbols用于ms.image将图像添加到绘图(基本图形)。该rasterImage方法提供了最大的控制,但my.symbols更像是常规绘图功能,因为您说绘制以这些坐标为中心的图像(并设置其他选项以指定大小等)

于 2013-01-28T21:29:24.423 回答