无法使用 ..count ..、geom_point 和 facet_wrap 手动设置颜色
Can't set colour manually with ..count .., geom_point and facet_wrap
我已经看到很多关于此问题的变体,以及我收到的错误消息。但是,none 的情况就像我正在尝试做的那样。假设我有一些数据看起来有点像这样:
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
。
同样,这里有很多帖子都带有类似的错误消息,但是 none 正在做与我正在尝试的相同的事情。
我也尝试了很多变体 scale_fill_manual(values = cols)
但那没有做任何事情:没有错误消息,但只有黑点。
(我通常在这种情况下毫无困难地使用条形图,但我试图找出 ggplot2 的不同方面,所以我想我会试试这个)。
您应该只需要将 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"))
我已经看到很多关于此问题的变体,以及我收到的错误消息。但是,none 的情况就像我正在尝试做的那样。假设我有一些数据看起来有点像这样:
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
。
同样,这里有很多帖子都带有类似的错误消息,但是 none 正在做与我正在尝试的相同的事情。
我也尝试了很多变体 scale_fill_manual(values = cols)
但那没有做任何事情:没有错误消息,但只有黑点。
(我通常在这种情况下毫无困难地使用条形图,但我试图找出 ggplot2 的不同方面,所以我想我会试试这个)。
您应该只需要将 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"))