2016-10-26 3 views
0

Ich habe eine Menge Variationen zu diesem Problem, sowie die Fehlermeldung, die ich bekomme. Keine der Situationen ist jedoch wie das, was ich versuche zu tun. Sagen wir, ich habe einige Daten, die ein bisschen wie folgt aussieht:Kann Farbe nicht manuell einstellen mit ..count .., geom_point und 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") 

ich bekommen kann, was ich mit den Standard ggplot2 Farben wollen wie folgt:

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

Das Problem tritt auf, wenn ich versuche, benutzerdefinierten Farben hinzufügen . Wenn ich keine facet_wrap() Schicht hinzufügen, ist es kein Problem:

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

Wenn ich jedoch ein facet_wrap() hinzufügen

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

Schicht erhalte ich eine Fehlermeldung, Aesthetics must be either length 1 or the same as the data (6): colour, size.

Auch hier gibt es viele Beiträge mit einer ähnlichen Fehlermeldung, aber keiner hat das Gleiche gemacht, was ich versuche.

Ich versuchte auch eine Menge Abwechslung mit dem Versuch scale_fill_manual(values = cols), aber das tat nichts: keine Fehlermeldung, sondern nur schwarze Punkte.

(Ich benutze in der Regel Bar-Plots in diesem Szenario ohne Schwierigkeiten, aber ich versuche, verschiedene Aspekte von ggplot2 herauszufinden, also dachte ich, ich würde dies stattdessen versuchen).

Antwort

2

Sie sollten nur scale_color_manual() zu Ihrer ersten Handlung hinzufügen, die für Sie arbeitete, aber mit den Standardfarben.

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

Dank. Ich dachte, ich hätte das probiert, aber ich muss einfach "fill = r" und nicht "color = r" haben. – JoeF

Verwandte Themen