choropleth 맵을 구성하는 것과 관련하여 질문이 있습니다. 사용자 정의 나누기로 맵을 플롯 할 때 권장되는 사항은 무엇입니까? 그리고 조금 매력적으로 보이게하십시오.
내 스크립트 에서 plot 및 spplot 명령을 사용하여 일부 데이터를 시각화했지만 결과에 완전히 만족하지는 않습니다. 이유를 쉽게 알 수 있습니다. spplot을 사용 하면 약간 이상한 다른 값에 대해 색상을 반복하는 색상 램프가 나타납니다. 사용자 정의 나누기와 함께 플롯을 사용 하면 값의 간격을 더 잘 만들 수 없으므로 예를 들어 0 값이 맵에서 흰색으로 표시됩니다. 범례와지도 사이의 비뚤어진 비율은 아마도 Rstudio의 결과라고 생각합니다.
그래서 누군가 사용자 정의 나누기를 사용하여 R에서 choropleth 맵을 플롯하는 더 나은 제안이 있는지 궁금합니다.
20-02-2013 편집
제안한대로 나는 choropleth 맵을 만들기 위해 ggplot2를 사용했습니다. 아래 코드를 사용했습니다. 두 가지 문제가 발생했습니다. 하나는 데이터를 강화한 후 shapefile의 모든 데이터가 데이터 프레임으로 전송되는 것은 아닙니다. 따라서 데이터를 병합 할 수 있도록 "id"변수의 이름을 바꿔야합니다. 사소한 문제.
더 큰 문제는 데이터 프레임의 데이터가 정확함에도 불구하고 ggplot은 데이터가 잘못된 맵을 표시한다는 것입니다. 범례에 따른 색상 값이 데이터의 변수 값과 일치하지 않습니다. 내가 여기서 뭔가를 내려다보고 있습니까?
# Plotting polygon shapefiles (try-out)
# Load the packages
require(rgdal)
require(maptools)
require(ggplot2)
gpclibPermit() # required for the fortify method
# Load the shapefile
africa=readOGR("/home/GIS",layer="africaII")
names(africa)
# Load the data on conflict
conflict<-read.csv("africa_conflict.csv", header=TRUE)
names(conflict)
# Merge the data together
africadat<-merge(africa, conflict, by="ISO3")
# Changing the data in the shapefile
africa@data <- africadat
# Fortify so that ggplot can plot
africa.points = fortify(africa,region="ISO3")
# Change "id" to "ISO3"such that the datasets can be merged again
names(africa.points)[names(africa.points)=="id"]<-"ISO3"
africa.df=merge(africa.points,africadat,by="ISO3")
# Plot the data
ggplot(africa.df) +
aes(long,lat,group=group) +
geom_polygon(aes(fill =onset))+
geom_path(color="white") +
coord_equal()
2015 년 11 월 13 일 업데이트 : 모양 파일에 대한 고정 링크 . choropleth를 플로팅하는 방법에 대한 솔루션은 아래 답변을 참조하십시오.
ggplot2
choropleth maps 를 사용 하는 것도 살펴볼 것 입니다. 기본적으로 더 나은 결과를 얻는다고 생각합니다.