在R中,用线密度代替颜色绘制地图:图例和线条。

3

我有关于意大利省份相对生产力的数据。根据生产力水平,我建立了5个组。最后,我想要使用意大利省份地图来表示这样一个场景,但是由于地图将以灰色比例尺打印,所以我无法使用颜色。我使用了以下内容:

library(spdep)
library(spectralGP)
library(maptools)
library(gstat)
library (RColorBrewer)

plot(submap.a,col="beige",border="Black",axes=T, xlim=c(7,20), ylim=c(36,48))
plot(submap.b,col="darkgrey",border="Black",add=T)
plot(submap.c,col="black",border="Black",add=T,density=24)
plot(submap.d, col="grey30",border="Black",add=T)
plot(submap.e,col="grey13",border="Black", add=T)

为了简单起见,这里的五个组分别是a、b、c、d、e。

结果在这里http://s9.postimg.org/m5co5g3nz/Rplot.png

我想做两件我没能够弄清楚的事情。

首先,我需要添加图例,我尝试过:

legend_map <- c("a", "b","c", "d", "e")
legend(17,47,legend=legend_map,fill=c("white","darkgrey", ??,"grey30","grey13"),bty="n",cex=0.6)

我无法找到在??处插入(c)组代码的方法。我尝试过使用

"black"[density=24] 
"black"$density=24 

但它们无法正常工作。

第二,为了让事情更清晰,我可能想用相反的方向或垂直地画线来填充与(c)组相同风格的(e)组。即使是这种情况,我也无法处理。

谢谢。

1个回答

3
您可以这样在图例中指定densityangle
legend(17,47,legend= legend_map, fill=c("white","darkgrey", "black","grey30","grey13"), density = c(NA,NA,24,NA,24), angle = c(NA,NA,30,NA,110), bty="n",cex=0.6)

非常感谢。这是比Photoshop更快的替代方案。 - Bob

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接