R을 이용한 세계지도 그리기 / 수치 표시하기
(각종 지표 들)
#필요 패키지
library(maps)
library(ggplot2)
library(ggmap)
#작업디렉토리 설정
setwd
#세계지도 불러오기
world<-map_data("world")
#원하는 지역만 선택할 경우
asia<-map_data("world", region=c("China", "Japan", "North Korea", "South Korea"))
#지도 확인
#theme()로 바다색을 lightblue로 가로세로 grid는 제거
ggplot(world, aes(x=long, y=lat, group=group))+geom_polygon(fill="wheat", colour="black")+
theme(panel.background = element_rect(fill="lightblue"),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank())
#원하는 국가 코드 따오기 (수출량 등 수치값이 별도 표기 되야하므로 다른 data.frame
df<-read.csv(" .csv", header=T)
df$column=as.character(df$column) #문자로 변환 (국가명, 지역명 등)
df_1<-mutate_geocode(df, export, source="google")
#지도에 표시하기
#group은 상황에 따라서 필요한 지역별 수치값을 입력
#size를 ratio로 함으로 비율에 따라 원이 그려짐
ggplot(data=world, aes(x=long, y=lat, group=group))+geom_polygon(fill="wheat", colour="black")+
geom_point(data=df_1, aes(x=lon, y=lat, group=export, size=ratio), shape=16, color="green", alpha=0.4)+
theme(panel.background = element_rect(fill="lightblue"),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank())
#원이 작으므로 원 크기 조절
#scale_size_area(max_size=20)을 이용
ggplot(data=world, aes(x=long, y=lat, group=group))+geom_polygon(fill="wheat", colour="black")+
geom_point(data=df_1, aes(x=lon, y=lat, group=export, size=ratio), shape=16, color="blue", alpha=0.4)+scale_size_area(max_size=20)+
theme(panel.background = element_rect(fill="lightblue"),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank())
#국가별 이름 지정
#geom_text를 이용, aes를 이용해서 위도 경도 위치로 텍스트 위치 지정
ggplot(data=world, aes(x=long, y=lat, group=group))+geom_polygon(fill="wheat", colour="black")+
geom_point(data=df_1, aes(x=lon, y=lat, group=export, size=ratio), shape=16, color="blue", alpha=0.4)+
scale_size_area(max_size=20)+
theme(panel.background = element_rect(fill="lightblue"),
panel.grid.major=element_blank(),
panel.grid.minor=element_blank())+
geom_text(data=df_1, aes(x=lon, y=lat+5, group=export, label=export))
도움 출처 :
http://blog.naver.com/PostView.nhn?blogId=goldenezkang&logNo=220061647790
http://stackoverflow.com/questions/10861773/remove-grid-background-color-and-top-and-right-borders-from-ggplot2
'데이터 갖고 놀기 > 실전 전투 R' 카테고리의 다른 글
function() 만들기 (0) | 2017.11.21 |
---|---|
function() 을 찾다.. (0) | 2017.11.09 |
googleVIS()로 모션차트(motionchart) 그리기 (0) | 2017.03.15 |
#dplyr 사용하여 평균그래프 with errorbar 그리기 (0) | 2017.02.24 |
R을 이용한 웹크롤링 그리고 워드클라우드(1) (1) | 2017.02.23 |