반응형
오늘은 ggmap을 이용한 데이터의 정보를 지도에 시각화하는 방법을 알아보도록 하겠습니다. 최종 결과물은 아래에 보이는 것처럼 유럽지역의 특정 국가 위치에 빨간색 투명점을 나라별 GDP에 따라 크기를 다르게 찍어보도록 하겠습니다!
구글맵 API를 발급 받아 ggmap에 연결시킵니다. 구글맵 API를 발급받기 위해서 구글맵 개발자 페이지에 방문합니다.
구글맵 API 발급받기
https://mapsplatform.google.com/
구글맵 API를 받기 위해서는 자신의 신용카드 정보를 등록해야합니다. 실제 개인이 사용할 때는 무료로 사용이 가능합니다만, API 자체를 발급받기 위해서 신용카드 등록은 필수입니다. 화면에 나오는 정보들을 차근차근 채우고 API를 발급받아 주세요! 자세한 내용은 영상을 따라가면서 하시기 바랍니다.
첨부파일 및 R 코드 공유
영상에 사용된 데이터프레임의 정보가 담겨있는 첨부파일을 먼저 내려받도록 하겠습니다!
위의 ggmap.csv 파일을 다운 받은 후, 아래의 R코드를 사용해서 따라와주세요~!
library(tidyverse)
library(ggmap)
register_google(key = "API키를 입력해주세요")
plot_data <- read_csv("ggmap.csv")
bgdata <- data.frame(x = plot_data$longitude,
y = plot_data$latitude)
center <- colMeans(bgdata)
country_loc <- tibble(lon = bgdata$x,
lat = bgdata$y)
mapdata <- get_googlemap(
center = center,
zoom = 4,
scale = 2,
size = c(640, 640),
# marker = country_loc,
maptype = "roadmap")
p <- ggmap(mapdata) +
geom_point(data = plot_data,
aes(longitude, latitude),
col = "red", size = plot_data$gdp/150,
alpha = 0.5) +
scale_y_continuous(limits = c(35, 58), expand = c(0, 0)) +
theme(axis.text = element_blank(),
axis.title = element_text(size = 15, face="bold"),
plot.margin = margin(0.2, 0.2, 0.2, 0.2, "cm"),
axis.ticks.x = element_blank(),
axis.ticks.y = element_blank())
p
geo_code <- geocode(plot_data$name)
geo_code
p <- ggmap(mapdata) +
geom_point(data = geo_code,
aes(lon, lat),
col = "red", size = plot_data$gdp/150,
alpha = 0.5) +
scale_y_continuous(limits = c(35, 58), expand = c(0, 0)) +
theme(axis.text = element_blank(),
axis.title = element_text(size = 15, face="bold"),
plot.margin = margin(0.2, 0.2, 0.2, 0.2, "cm"),
axis.ticks.x = element_blank(),
axis.ticks.y = element_blank())
p
반응형
'R' 카테고리의 다른 글
Rmd 파일 저장할 때 knit하기 저장용 (0) | 2022.01.26 |
---|---|
gganimate 패키지로 신년 메세지 동영상만들기 (1) | 2022.01.02 |
ggplot2 사용시 invalid graphics state 오류 해결방법 (0) | 2021.11.24 |
10강. CNN 모델을 사용한 다중 분류 모델 구현하기 (0) | 2021.11.22 |
9강. Torch의 Dataset과 Dataloader 클래스에 대하여 (0) | 2021.11.08 |
댓글