2017-09-05 68 views
0

我用下面的代碼來得到圖。該圖的問題是d = 330421,d = 330500和d = 330623的顏色非常相似,很難區分哪個點屬於哪個組。ggplot color by factor levels,some color are very similar,unable to identify points for some groups

ggplot(subdt2, aes(x=year, y=aniHusb, color = d)) + geom_point() 

enter image description here

+0

的調色板在ColorBrewer可能是大量的類別,例如更好'scale_colour_brewer(type =「qual」)'。否則像'ggthemes'這樣的軟件包會有各種可以嘗試的調色板。 – Marius

+0

也可以使用'shape'。 – Suren

+1

通常,區分* 10 *顏色並且容易識別它們(例如在圖例中)對於大多數是困難的。 * 6 *是可行的,也許7-8。您需要將其分成幾個系列或使用其他因素進行區分。 – MrGumble

回答

1

你可以試試這個產生可區分的顏色情節:

library(randomcoloR) 
n <- length(unique(subdt2$d)) 
palette <- unname(distinctColorPalette(n)) 
ggplot(subdt2, aes(x=year, y=aniHusb, color = d)) + 
    geom_point() + scale_color_manual(values=palette) 

或使用RColorBrewer包:

library(RColorBrewer) 
ggplot(subdt2, aes(x=year, y=aniHusb, color = d)) + 
    geom_point() + scale_colour_brewer(palette = "Set3") 

例子:

ggplot(iris[iris$Species=='setosa',], aes(x=Sepal.Length, y=Sepal.Width, color = as.factor(Petal.Length))) + 
    geom_point() + scale_colour_brewer(palette = "Set3") 

簡介:

enter image description here

n <- length(unique(iris[iris$Species=='setosa','Petal.Length'])) 
palette <- unname(distinctColorPalette(n)) 

ggplot(iris[iris$Species=='setosa',], aes(x=Sepal.Length, y=Sepal.Width, color = as.factor(Petal.Length))) + 
    geom_point() + scale_color_manual(values=palette) 

enter image description here

相關問題