我在 R 中使用 maps 包来绘制一个简单的地理地图,然后将我的数据点放入其中。
我的问题是,R 中是否有任何方法可以用感兴趣的图片来表示数据点,例如,我在示例中正在研究的动物。
这只是为了让我的读者更好地表示我的数据点相对于彼此的分布。
我在 R 中使用 maps 包来绘制一个简单的地理地图,然后将我的数据点放入其中。
我的问题是,R 中是否有任何方法可以用感兴趣的图片来表示数据点,例如,我在示例中正在研究的动物。
这只是为了让我的读者更好地表示我的数据点相对于彼此的分布。
您也可以使用网格包。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:我不确定美国有骆驼...
rasterImage
是一种方法,尽管有些费力。将感兴趣的图像格式化为光栅对象后,您可以将它们放置在绘图区域内的指定位置(和帧大小)。
除了rasterImage
@CarlWitthoft 提到的功能之外,还有来自于 TeachingDemos 包的组合,my.symbols
用于ms.image
将图像添加到绘图(基本图形)。该rasterImage
方法提供了最大的控制,但my.symbols
更像是常规绘图功能,因为您说绘制以这些坐标为中心的图像(并设置其他选项以指定大小等)