График beeswarm — это вид визуализации данных, который позволяет отображать распределение и плотность значений категориальных переменных. Он похож на ящик с усами (boxplot) или точечный график, но с уникальной особенностью: данные расположены по горизонтальной или вертикальной оси, таким образом, чтобы не перекрывать друг друга. Это делает его особенно полезным для визуализации небольших наборов данных, где важна манипуляция с точками и ясность представления.
#Source: https://t.me/rstudioprogr
library(gapminder)
library(dplyr)
library(beeswarm)
head(gapminder)
## # A tibble: 6 × 6
## country continent year lifeExp pop gdpPercap
## <fct> <fct> <int> <dbl> <int> <dbl>
## 1 Afghanistan Asia 1952 28.8 8425333 779.
## 2 Afghanistan Asia 1957 30.3 9240934 821.
## 3 Afghanistan Asia 1962 32.0 10267083 853.
## 4 Afghanistan Asia 1967 34.0 11537966 836.
## 5 Afghanistan Asia 1972 36.1 13079460 740.
## 6 Afghanistan Asia 1977 38.4 14880372 786.
gapminder <- gapminder %>% filter(year < 1970)
lifeExp <- gapminder$lifeExp
year <- gapminder$year
continent <- gapminder$continent
# Bee swarm plot by group
beeswarm(lifeExp ~ year,
pch = 19,
pwcol = as.numeric(continent),
method = "hex",
col = c("#3FA0FF", "#FFE099", "#F76D5E", "lightblue", "darkblue"))
legend("bottomright", legend = c("Asia", "Europe", "Africa", "Americas", "Oceania"),
col = 1:5, pch = 19)