我想为因子列中可用的级别选择不同的颜色。
levels(iris$Species)
# [1] "setosa" "versicolor" "virginica"
从this question,我发现使用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
不同的可能颜色。