我正在尝试使用ggplot复制空间点数据框的plot(),该框具有rgb值以绘制颜色栅格。这个问题似乎很基本,我经常使用ggplot ...任何帮助将不胜感激。
空间点数据框amre_map
如下所示:
> head(amre_map)
red green blue
1 150 61 152
2 248 55 83
3 220 66 61
4 118 127 73
5 124 126 71
6 188 74 71
> class(amre_map)
[1] "SpatialPointsDataFrame"
attr(,"package")
[1] "sp"
> dim(amre_map)
[1] 100000 3
我要复制的绘图的R代码是:
> par(mar=c(0,0,0,0))
> plot(amre_map,col=rgb(r,g,b,max=255),pch=15)
> lines(breeding.shp)
下面是我要工作的最接近的ggplot代码。我将amre_map.df
转换为数据框:
> ggplot(amre_map.df, aes(x=x, y=y,fill = rgb(red,green,blue, maxColorValue = 255))) +
theme_bw() +
geom_tile() +
coord_equal() +
scale_fill_identity()
我也尝试了geom_raster()
,但是计算机在很长一段时间内都在挣扎,没有发出任何警告,除了警告
> ggplot() +
geom_raster(data = amre_map.df,
aes(x = x, y = y, fill = rgb(red, green ,blue, maxColorValue = 255)
Warning messages:
1: In f(...) :
Raster pixels are placed at uneven horizontal intervals and will be shifted. Consider using geom_tile() instead.
预先感谢您的帮助!