В этой статье мы увидим, как визуализировать шестигранный график на языке программирования R.
Карта Hexabin использует шестиугольники, чтобы разделить область на несколько частей и назначить каждому цвет. Графическая область (которая может быть географическим положением) разделена на множество шестиугольников, количество точек данных в каждом из которых подсчитывается и отображается цветовым градиентом.
Эта диаграмма используется для отображения плотности, а шестиугольная форма позволяет легко создавать смежные области при разделении пространства на отдельные части.
Загрузите данные по этой ссылке. Эти данные хранят данные о полигонах штатов США.
Basic Hexabin Map
Чтобы построить гексабин с набором данных us_states_hexgrid для этого, мы создадим фрейм данных из этого набора данных, а затем нанесем пространственные данные.
р
# R library
library
(tidyverse)
# handle the data
library
(geojsonio)
# handle the geojson data
library
(RColorBrewer)
# for color palette
library
(rgdal)
# handling the spatial data
# load the geospatial data
us_data <-
geojson_read
(
"us_states_hexgrid.geojson"
, what =
"sp"
)
# polygon spatial data
us_data@data = us_data@data %>%
mutate
(google_name =
gsub
(
" \\(United States\\)"
,
""
, google_name))
# plot the basic Hexabin Map
plot
(us_data)
Выход:
Слияние данных с картограммой
Hexabin используется для построения графиков рассеяния с данными высокой плотности, и здесь мы объединим данные с пространственными объектами из файла geojson, а затем построим гексабин с помощью ggplot.
R
# R library
library
(tidyverse)
# handle the data
library
(geojsonio)
# handle the geojson data
library
(RColorBrewer)
# for color palette
library
(rgdal)
# handling the spatial data
# load the geospatial data
us_data <-
geojson_read
(
"us_states_hexgrid.geojson"
,
what =
"sp"
)
# polygon spatial data
us_data@data = us_data@data %>%
mutate
(google_name =
gsub
(
" \\(United States\\)"
,
""
, google_name))
# library to convert data to a tidy data
library
(broom)
us_data@data = us_data@data %>%
mutate
(
google_name =
gsub
(
" \\(United States\\)"
,
""
, google_name))
us_data_fortified <-
tidy
(us_data,
region =
"google_name"
)
# getting the US state Marriage data
/holtzy/R-graph-gallery/master/DATA/State_mariage_rate.csv",
sep =
","
, na.strings=
"---"
, header = T)
# extracting the data sequence
data %>%
# getting the data for year 2015
ggplot
(
aes
(x = y_2015)) +
# preparing the histogram
geom_histogram
(bins = 10, fill=
'#69b3a2'
, color=
'white'
)
# merging the data with the spatial features from geojson file
us_data_fortified <- us_data_fortified %>%
left_join
(. , data, by=
c
(
"id"
=
"state"
))
# preparing a choropleth map
ggplot
() +
geom_polygon
(data = us_data_fortified,
aes
(
fill = y_2015, x = long, y = lat, group = group)) +
scale_fill_gradient
(trans =
"log"
) +
coord_map
()
Выход: