我正在使用R语言的maps包来绘制简单的地理地图,然后将我的数据点放入其中。
我的问题是,在R语言中是否有一种方式可以用感兴趣的图片来表示数据点,例如我在我的示例中使用的动物。
这只是为了更好地向读者展示我的数据点相对于彼此的分布。
我正在使用R语言的maps包来绘制简单的地理地图,然后将我的数据点放入其中。
我的问题是,在R语言中是否有一种方式可以用感兴趣的图片来表示数据点,例如我在我的示例中使用的动物。
这只是为了更好地向读者展示我的数据点相对于彼此的分布。
您也可以使用grid包。 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)
提示:我不确定美国是否有骆驼。
rasterImage
是一种方式,虽然有些费力。一旦你将感兴趣的图片格式化为光栅对象,你就可以将它们放置在指定的位置(和框架大小)内部你的绘图区域。
rasterImage
函数之外,还有来自TeachingDemos包的my.symbols
和ms.image
的组合,用于向绘图(基础图形)中添加图像。 rasterImage
方法提供了最大的控制力,但my.symbols
更像常规绘图函数,您可以在这些坐标处绘制图像(并设置其他选项以指定大小等)。