이 기사에서는 R의 전단지 .minicharts 패키지를 사용하여 R에서 지도 기반 차트를 만들 것입니다 . 이미 지도에 마커를 만들고 밀도 히트맵으로 공간 분포를 시각화하기 위한 전단지 를 소개했습니다. 이 블로그 게시물 에서는 R에서 전단지 .minicharts를 사용하여 막대 차트, 원형 차트 및 극지방 차트를 만듭니다.
R에서 Leaflet으로 베이스맵 만들기
먼저 시각화를 위한 베이스맵을 만듭니다. R의 전단지 패키지를 사용하여 그렇게 할 수 있습니다 . 아래 코드 줄에서 베이스맵을 만듭니다.
library(knitr)
library(leaflet)
basemap = leaflet() %>%
addTiles() %>%
addProviderTiles(providers$OpenStreetMap.DE) %>%
setView(-98,38.5,zoom=4)
basemap
이 경우 미국에 대한 데이터를 보고 싶습니다. 이러한 이유로 미국의 대부분의 주를 표시하도록 지도 보기를 설정했습니다. 하와이는 표시되지 않습니다.
Leaflet.minicharts에 대한 판매 데이터 가져오기
다음으로, 각 관련 미국 주에 대한 판매 데이터를 가져옵니다. 데이터는 이미 준비되어 Excel에 요약되어 있습니다. 이것이 내가 메모리로 가져오는 csv 파일에서 데이터를 사용할 수 있는 이유입니다.
data = read.csv("sales.csv",header=TRUE)
head(data)
## state longitude latitude sales_sensors sales_pumps sales_displays
## 1 Wisconsin -89.50000 44.50000 13000 12002.374 5664.6262
## 2 West Virginia -80.50000 39.00000 5000 2739.885 3774.7759
## 3 Vermont -72.70000 44.00000 3400 1041.972 2332.2328
## 4 Texas -100.00000 31.00000 37000 6287.578 13425.8577
## 5 South Dakota -100.00000 44.50000 5600 3115.934 558.0957
## 6 Rhode Island -71.74233 41.74233 4000 3623.527 873.5025
## sales_motoroil sales_filters sales_tires sales_headlamps sales_rearlighting
## 1 10646.1263 3962.7175 4863.633 1921.3345 3692.084
## 2 844.2269 524.2226 4728.812 425.4734 2107.706
## 3 640.9263 1003.8087 2410.252 3056.3377 2659.093
## 4 16161.9943 30441.3494 10438.494 2196.3884 35905.807
## 5 5338.5218 4551.7116 3200.116 3823.2335 3946.851
## 6 1758.7899 3633.4848 3170.961 3211.9275 2669.132
## sales_interiorlighting sales_total
## 1 11227.7133 66980.61
## 2 956.6307 21101.73
## 3 3177.5397 19722.16
## 4 6316.8175 158174.29
## 5 723.8857 30858.35
## 6 3967.7682 26909.09
데이터 세트는 자동차 예비 부품 소매 비즈니스의 지난 회계 연도의 판매 수익을 요약합니다. 이 소매업체는 유럽 주차장을 전문으로 하며 현재 독일, 프랑스, 이탈리아 및 스페인에서 직송으로 모든 판매 주문을 고객에게 배송합니다. 판매는 주요 제품 그룹으로 분류됩니다.
Leaflet.minichart를 사용하여 판매 데이터 시각화
먼저 전단지 와 전단지 .minichart 를 사용하여 막대 차트 맵을 만듭니다. 저는 미국 전역의 펌프 및 센서 판매를 비교하기 위해 막대 차트를 사용합니다.
library(leaflet.minicharts)
library(magrittr)
library(dplyr)
colors = c("#FF0000", "#428EF4")
basemap %>%
addMinicharts(
data$longitude, data$latitude,
chartdata = select(data,sales_sensors,sales_pumps),
colorPalette = colors,
width = 45, height = 45
)
총 판매액과 비교하면 어떻습니까? 아래 막대 차트 맵은 이 질문에 대한 답변을 제공합니다.
colors = c("#FF0000", "#428EF4","black")
basemap %>%
addMinicharts(
data$longitude, data$latitude,
chartdata = select(data,sales_sensors,sales_pumps, sales_total),
colorPalette = colors,
width = 45, height = 45
)
파이 차트를 사용하여 이와 같은 개요를 만들 수도 있습니다. 아래 코드를 참조하십시오.
colors <- c("#FF0000", "#428EF4")
basemap %>%
addMinicharts(
data$longitude, data$latitude,
type = "pie",
chartdata = select(data,sales_sensors,sales_pumps),
colorPalette = colors,
width = 60 * sqrt(data$sales_total) / sqrt(max(data$sales_total)), transitionTime = 0
)
파이 크기는 원 반지름으로 정의됩니다. 모든 제품 범주에 걸친 총 판매 수익의 결과입니다. 이제 모든 제품 범주가 포함된 원형 차트를 표시하는 맵을 하나 더 생성합니다.
basemap %>%
addMinicharts(
data$longitude, data$latitude,
type = "pie",
chartdata = select(data,sales_sensors,sales_pumps,sales_displays,sales_motoroil,sales_filters,sales_tires,sales_headlamps,sales_rearlighting,sales_interiorlighting),
width = 60 * sqrt(data$sales_total) / sqrt(max(data$sales_total)), transitionTime = 0
)
이와 같은 시각화를 생성함으로써 저는 소매업체가 물류 유통 관점에서 미국 시장을 이해하도록 돕습니다.
Leaflet.minicharts가 있는 기타 차트 유형
전단지 .minicharts 를 사용하여 물질 흐름을 지도에 방향 흐름으로 표시할 수도 있습니다. 이를 위해 위도 및 경도 값의 형태로 “소스” 및 “싱크” 좌표를 축소 하는 데이터 프레임 을 구성해야 합니다. 또한 데이터 프레임 에서 플롯 할 유량을 정량화해야 합니다 .
마지막으로, 전단지 .minicharts를 사용하여 애니메이션 차트를 만들 수도 있습니다. 이것은 예를 들어 지도에 시간 기반 추세를 표시할 때 유용합니다.
이 전단지.minicharts 게시물 요약
이 기사에서는 지도 기반 차트 플로팅을 위한 R 패키지로 전단지 .minicharts를 소개했습니다. 이전 기사에서 나는 마커 플롯 또는 지도 기반 히트맵과 같은 전단지 를 소개했습니다. 이 기사에서는 전단지 .minicharts를 사용하여 예를 들어 막대 차트 및 원형 차트를 전단지 맵에 추가하는 방법을 설명했습니다.
최적화 및 시뮬레이션을 전문으로하는 산업 엔지니어 (R, Python, SQL, VBA)
Leave a Reply