2014-09-18 2 views
2

sp 패키지의 spplot을 사용하여 여러 다각형에 사용자 정의 색상 표를 도입하는 데 어려움을 겪고 있습니다. 여러 필드를 플로팅하고 0,1,2,4 또는 5 값을 가질 수있는 등급을 표시하려고합니다. 사용자 정의 색을 사용해야합니다. 내가 시도한 것은 다음과 같습니다 :R : spplot으로지도에 사용자 정의 색상 표

spplot(Map,zcol="Rating", 
     col.regions=c("0"="#00cc00","1"="#ffff66","2"="#e5c100", 
        "3"="orange","4"="#ff5e5e","5"="red"), 
     colorkey=TRUE) 

그러나 아래 그림과 같이 색상이 반복됩니다. 이 문제를 어떻게 해결할 수 있습니까? 나는 ggplot으로 어떻게 할 수 있는지 알지만 몇 가지 이유 때문에 spplot으로 어떻게해야하는지 알 필요가있다. 도움을 주셔서 대단히 감사드립니다.

편집 : 여기 나는 그것을 필요로하는 방식으로 작동 않는지도 예 :

con <- url("http://gadm.org/data/rda/DEU_adm3.RData") 
print(load(con)) 
close(con) 
t1<-gadm[grep("Sachsen|Hessen|Bayern",gadm$NAME_1),] 
col=c("red","yellow") 
spplot(t1,zcol="TYPE_3",col.regions=col) 

난 다음 발견 : 내 데이터 원본 "대형 SpatialPolygonsDataframe를"부분 집합 언제, 결과 map은 "Formal 클래스 SpatialPolygonsDataframe"입니다. 이것은 방금 위에 게시 한 예에서는 발생하지 않습니다. 누구든지이 행동의 원인을 말해 줄 수 있습니까? 불행히도 원본 (민감한) 데이터를 업로드 할 수 없습니다. 당신의 zcolnumeric

Map produced by spplot with repetitive color code (not desired)

+0

코드를 'col.regions = c ("# 00cc00", "# ffff66", "# e5c100", "orange", "# ff5e5e", "red"로 변경하면 예상대로 작동합니까?) ' – eipi10

+0

아니요. – user2386786

+0

[재현 가능한 예] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)를 게시하면 다른 사람들이 재현 할 수 있도록 도와주는 것이 더 쉽습니다. 귀하의 문제와 그것을 해결하려고합니다. – eipi10

답변

0

이 발생합니다. 그것을 factor으로 변환하면 플롯이 예상대로 나타나야합니다. 당신은 숫자에 t1$TYPE_3을 변환 할 경우

당신은이 동작을 볼 수 있습니다

t1$TYPE_3.num <- as.numeric(t1$TYPE_3) 
spplot(t1, 'TYPE_3.num', col.regions=c('red', 'yellow')) 

t1

그래서

가정 6 개 가능한 요인의 수준이, 라벨 0 ~ 5로, 시도 :

Map$Rating.fac <- factor(M$Rating, levels=0:5) 

을 입력 한 다음 zcol='Rating.fac'을 사용하고 6 색의 벡터를 col.regions으로 전달합니다.