为R中地图上大量类别的多边形指定颜色
我试图绘制一张不同植被类型的地图,我称之为草。这些类别列在下面grass@data$LEGEND。总共有72个。我不在乎颜色是什么,但每个植被类型都必须有不同的颜色,有些植被类型会出现在多个多边形中为R中地图上大量类别的多边形指定颜色,r,plot,mapping,categorical-data,R,Plot,Mapping,Categorical Data,我试图绘制一张不同植被类型的地图,我称之为草。这些类别列在下面grass@data$LEGEND。总共有72个。我不在乎颜色是什么,但每个植被类型都必须有不同的颜色,有些植被类型会出现在多个多边形中 poly<-readOGR(".","vegmap2006_geo") out <- crop(poly, extent(20, 35,-26, -32)) grass<-poly[poly@data$BIOME%in%"Grassland Biome",] colours<
poly<-readOGR(".","vegmap2006_geo")
out <- crop(poly, extent(20, 35,-26, -32))
grass<-poly[poly@data$BIOME%in%"Grassland Biome",]
colours<-terrain.colors(72)
plot(grass,col=colours[grass$LEGEND],border=NA)
但是,R调色板没有包含足够的颜色,每种植被类型的颜色不一样颜色帮助。要获取R中可用的
颜色列表,请键入
colors() # All colors
为了获得某种颜色的特定色调,让我们假设红色
或蓝色
或绿色
或橙色
类型
colors()[grep("red",colors())] # Shades of red
colors()[grep("blue",colors())] # Shades of blue
colors()[grep("green",colors())] # Shades of green
colors()[grep("orange",colors())] # Shades of orange
grass$LEGEND
列中有什么内容?我们需要一个可复制的示例来提供帮助……也许这可以起作用:plot(grass,col=colors[as.numeric(factor(grass$LEGEND))],border=NA)
Hi grass$LEGEND是与每个多边形相关联的所有植被类型的列表(即:。。grass@data$LEGEND)。我刚刚尝试了绘制您的建议,虽然我不完全确定代码的作用,但它现在已经生成了一个带有颜色的图形,我认为这似乎已经奏效了快速解释:我只是将图例中的字符串转换为因子,基本上将唯一的字符串值与{1..n}中的整数映射,然后我用这些数字作为颜色的索引。。。
colors()[grep("red",colors())] # Shades of red
colors()[grep("blue",colors())] # Shades of blue
colors()[grep("green",colors())] # Shades of green
colors()[grep("orange",colors())] # Shades of orange