2016-10-26 72 views
0

我已經看到了很多關於此問題的變體以及我得到的錯誤消息。但是,沒有一種情況像我想要做的那樣。說我有一些數據,看起來有點像這樣:無法使用..count ..,geom_point和facet_wrap手動設置顏色

r <- c("zero", "r", "zero", "zero", "r", "r", "r", "zero", "r", "r") 

store <- c("Saks", "Saks", "Klein's", "Macy's", "Saks", "Klein's", "Macy's", "Macy's", "Klein's", "Saks") 

dat <- data.frame(r, store) 

# Specify the colors 
cols <- c(r = "#1B79A5", zero = "#FD7701") 

我能得到我想要用默認GGPLOT2顏色如下:

ggplot(data = dat, aes(x = r, shape = r, colour = r, ..count..)) + 
geom_point(stat = "count", size = 3) + 
facet_wrap(~ store) 

,當我嘗試添加自定義顏色,會出現問題。如果我不加facet_wrap()層,沒有一個問題:

ggplot(data = dat, aes(x = r, fill = r, shape = r, ..count..)) + 
    geom_point(stat = "count", color = cols, size = 3) 

不過,如果我添加了一個facet_wrap()層

ggplot(data = dat, aes(x = r, fill = r, shape = r, ..count..)) + 
    geom_point(stat = "count", color = cols, size = 3) + 
    facet_wrap(~store) 

我得到一個錯誤信息,Aesthetics must be either length 1 or the same as the data (6): colour, size

同樣,這裏有很多帖子都有類似的錯誤信息,但沒有人正在做同樣的事情,我正在嘗試。

我也嘗試了很多變化,試圖scale_fill_manual(values = cols)但沒有做任何事情:沒有錯誤信息,但只是黑點。 (我通常在這個場景中使用條形圖沒有困難,但我想弄清楚ggplot2的不同方面,所以我想我會試試這個)。

回答

2

您應該只需要將scale_color_manual()添加到您的第一個情節,這是你的工作,但與默認的顏色。

ggplot(data = dat, aes(x = r, shape = r, colour = r, ..count..)) + 
geom_point(stat = "count", size = 3) + 
facet_wrap(~ store) + 
    scale_color_manual(values = c("#1B79A5", "#FD7701")) 

enter image description here

+0

感謝。我以爲我曾嘗試過,但我必須有'fill = r'而不是'color = r'。 – JoeF