Порекомендуйте шкалу цветов для 13 или более категорий
Масштаб по умолчанию для ggplot2 для 13 или более цветов не обеспечивает высокую степень визуальной дифференциации. Кроме того, самая длинная из весов пивовара заканчивается в 12 категориях (Set3).
Можете ли вы порекомендовать цветовую гамму, которая будет визуально полезна для 13 или более категорий?
Воспроизводимый пример:
dat <- data.frame(value=rnorm(100),
category=sample(letters[1:13],100,replace=T),
other=sample(letters[1:5],100,replace=T))
# Default Scale
ggplot(dat, aes(other,value,color=category)) +
geom_point(size=6) +
coord_flip()
# Brewer Scale // notice the blank at the end!
ggplot(dat, aes(other,value,color=category)) +
geom_point(size=6) +
coord_flip() +
scale_color_brewer(palette="Set3")
Примечание: фасетирование не подходит в моем случае (клиенту это не нравится, пойди разберись)
1 ответ
Решение
Вы могли бы использовать colorRampPalette
а также scale_colour_manual
выдумать 13-ю категорию.
set3 <- colorRampPalette(brewer.pal('Set3',n=12))
ggplot(dat, aes(other,value,color=category)) +
geom_point(size=6) +
coord_flip() +
scale_color_manual(values = setNames(set3(13), levels(dat$category)))
Это сломается, потому что цвета не будут хорошо различимы, если вы установите слишком высокие значения.