Если вы преобразуете свои данные в «длинный» формат, фасетирование является одним из вариантов. Обратите внимание, что вы должны установить scales = 'free'
в facet_wrap()
.
library(tidyverse)
df.long <- df %>%
pivot_longer(A:D, names_to = 'variable', values_to = 'value')
g <- ggplot(data = df.long, aes(x = Location, y = value)) +
geom_boxplot() +
facet_wrap(facets = ~variable, scales = 'free')
print(g)
Если вы хотите получить все на одном участке, вы бы приходится масштабировать данные по группе. Здесь я нормализовал каждую точку данных в диапазоне от 0 до 1 относительно ее исходного масштаба.
df.long <- df %>%
pivot_longer(A:D, names_to = 'variable', values_to = 'value') %>%
group_by(variable) %>%
mutate(value_norm = value - min(value),
value_norm = value_norm / max(value_norm)
)
g.norm <- ggplot(data = df.long, aes(x = Location, y = value_norm, fill = variable)) +
geom_boxplot()
print(g.norm)