用ggplot复制空间点数据帧RGB值的R plot()

时间:2019-09-16 01:51:48

标签: r ggplot2 rgb

我正在尝试使用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)

this answer

下面是我要工作的最接近的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()

gf_plot

我也尝试了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.

预先感谢您的帮助!

0 个答案:

没有答案