Я видел много вариаций этой проблемы, а также сообщение об ошибке, которое я получаю. Однако ни одна из ситуаций не похожа на то, что я пытаюсь сделать. Скажем, у меня есть некоторые данные, которые выглядят немного как это:Невозможно установить цвет вручную с помощью ..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, поэтому я решил попробовать вместо этого).
Спасибо. Я думал, что попробовал это, но у меня должно было быть только «fill = r», а не 'color = r'. – JoeF