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