10

13 种或更多颜色的 ggplot2 的默认比例不提供高度的视觉区分。此外,最长的啤酒秤以 12 个类别结束(Set3)。

你能推荐一个对 1​​3 个或更多类别在视觉上有用的色标吗?

可重现的例子:

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")

注意:在我的情况下,刻面不是一个选项(客户不喜欢它,去图)

4

1 回答 1

9

您可以使用colorRampPaletteandscale_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)))

这将失败,因为如果您将所需的数字设置得太高,颜色将无法很好地区分。

于 2012-11-29T00:00:32.023 回答