13种或更多颜色的ggplot2的默认比例不能提供高度的视觉差异。 此外,最长的酿酒商秤最终分为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")
注意:在我的情况下,facetting不是一个选项(客户端不喜欢它,去图)
答案 0 :(得分:9)
您可以使用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)))
如果您将所需的数字设置得太高,这将会破坏,因为颜色不会很好区分。