R中sp图上的颜色编码空间数据点

问题描述 投票:0回答:1

目前,我正在学习R,我正竭尽全力试图弄清楚如何在用R创建的地图上的空间数据点上定义两种颜色。In progress map

在数据框中存在三个变量,x和y坐标,然后进行观察。 0表示未观察到,1表示已观察到。我希望将紫色分配给观察到的(1),将红色分配给未观察到的(0)。

这是到目前为止我用来制作地图的代码:

plot(Bp_shp4, col = "grey", axes = TRUE, xlab = "Longtitude", 
   ylab = "Latitude", xlim = c(-1, 35), ylim = c(35, 60), 
   main = expression('Sampling sites for '*italic('Brachytron pretense')*' presence or absence'))

plot(Bp_hydro, pch = 20, col = "cyan", cex = 0.5, add = TRUE)

plot(Bp_Spatial_df, pch = 20, cex = 1, add = TRUE,)

[Bp_Spatial_df是我的数据框,带有三个变量,但是,如果我指定一种颜色,则它只能为一种一致的颜色着色,我已经尝试过使其成为一个因素,但是如果没有绘制点,就无法将其添加到我的现有代码中。

任何帮助将不胜感激,我的工作已经完全停顿了,这几乎只是开始...

r plot colors mapping spatial
1个回答
0
投票

我希望将紫色分配给观察到的(1),将红色分配给颜色变为不可见(0)。

首先创建颜色:

cols <- c("red", "purple")

然后,因为观察到的是数字矢量,所以您可以使用它来索引数据中的这些预定义颜色。但是,由于索引从R中的1开始,所以添加1L使其成为(1,2)向量。

plot(Bp_hydro, pch = 20, col = cols[observed+1L], cex = 0.5, add = TRUE)
© www.soinside.com 2019 - 2024. All rights reserved.