2016-04-06 4 views
0

Я пытаюсь построить карту разных видов растительности, которую я назвал травой. Категории перечислены в разделе @ data @ LEGEND. Всего их насчитывается 72 человека. Меня не волнует, каковы цвета, но для каждого типа растительности должен быть другой цвет, а некоторые виды растительности - это более одного полигона.Назначение цветов для многоугольников для большого количества категорий на карте в R

poly<-readOGR(".","vegmap2006_geo") 
out <- crop(poly, extent(20, 35,-26, -32)) 
grass<-poly[[email protected]$BIOME%in%"Grassland Biome",] 

colours<-terrain.colors(72) 
plot(grass,col=colours[grass$LEGEND],border=NA) 

Ничего не происходит, когда я заговорю, и я понятия не имею, почему. Я могу построить карту со следующим кодом

plot(grass,col=grass$LEGEND, border=NA) 

однако R цветовая палитра не содержит достаточное количество цветов для каждого типа растительности быть окрашены по-разному

+0

Что в 'травяного колонка $ LEGEND' ? Нам нужен воспроизводимый пример, чтобы помочь ... – digEmAll

+0

Возможно, это может сработать: 'plot (трава, col = цвета [as.numeric (factor (трава $ LEGEND))], border = NA)' – digEmAll

+0

Привет трава $ LEGEND представляет собой список всех типов растительности, связанных с каждым полигоном (т. е. grass @ data $ LEGEND). Я только что попробовал заговорить о вашем предположении, и хотя я не совсем уверен, что делает код, теперь он создал сюжет с цветами – user3506320

ответ

0

Помощь для цветов. Для получения списка colors доступен в R, типа

colors() # All colors 

Для получения конкретных оттенков какого-либо цвета, скажем, red или blue или green или orange типа

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