我已经看到了这个问题的很多变化,以及我收到的错误消息。但是,没有一种情况像我正在尝试做的那样。假设我有一些看起来有点像这样的数据:
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 的不同方面,所以我想我会尝试这个)。