Я хотел бы выбрать разные цвета для уровней, доступных в факторизованном столбце.
levels(iris$Species)
# [1] "setosa" "versicolor" "virginica"
Из этого вопроса я обнаружил, что выбор отдельных цветов с помощью функции brewer.pal
оптимален и/или прост. Я определил решение как
data.frame(values=levels(iris$Species),
colhex=brewer.pal(3,'Accent'))
# values colhex
# 1 setosa #7FC97F
# 2 versicolor #BEAED4
# 3 virginica #FDC086
Однако я хотел бы сопоставить эти шестнадцатеричные коды с именами цветов как (ожидаемый результат):
# values colhex colnames
# 1 setosa #7FC97F color1
# 2 versicolor #BEAED4 color2
# 3 virginica #FDC086 color3
Как добиться этого сопоставления?
В качестве альтернативы, есть ли какой-либо пакет, который предоставляет имена цветов с шестнадцатеричными кодами для n
(скажем, n=85+
) различных значений.
Есть еще один способ определить присутствующие цвета, используя:
r_colors <- cbind(colors(), t(col2rgb(colors())))
Я чувствую, что при таком подходе сложно идентифицировать n
различных возможных цветов.
color.names(rainbow(4))
в ссылке дает только 2 из 4 названий цветов. Поскольку очень важно получить почти 100% названий цветов, я запросил любые возможные элегантные решения. - person Prradep   schedule 13.07.2017