为什么scale_colour_manual()无法为ggplot2中的绘图指定正确的调色板?

为什么scale_colour_manual()无法为ggplot2中的绘图指定正确的调色板?,r,ggplot2,color-palette,R,Ggplot2,Color Palette,我想使用包ggsci中的调色板。但是当我想使用scale\u color\u manual(value=…)函数组合两个调色板时,它无法显示我想要的正确颜色。例如: library(ggsci) library(ggplot2) ## Customize data and color my_mtcars <- head(mtcars, 18) n <- length(unique(my_mtcars$mpg)) my_color <- c(ggsci::pal_npg(&quo

我想使用包
ggsci
中的调色板。但是当我想使用
scale\u color\u manual(value=…)
函数组合两个调色板时,它无法显示我想要的正确颜色。例如:

library(ggsci)
library(ggplot2)
## Customize data and color
my_mtcars <- head(mtcars, 18)
n <- length(unique(my_mtcars$mpg))
my_color <- c(ggsci::pal_npg("nrc")(10), ggsci::pal_lancet("lanonc")(n-10))
## Plot
p <- ggplot(my_mtcars, aes(mpg, wt)) +
  geom_bar(aes(fill = factor(mpg)), stat="identity")+
  scale_colour_manual(values = my_color)
p 

对象的类型也是一个字符,如
scale\u color\u手册(value=…)
中记录的“value”参数所示:

> class(my_color)
[1] "character"

所以我想知道为什么会这样?我使用其他带有手动调色板的软件包(如RColorBrewer)也会有类似的结果。

我认为您需要填充而不是颜色,请尝试
缩放填充\u手动(…
Yep…这是一个多么尴尬的错误!是的,不用担心,发生在我们所有人身上。另一方面,感谢你的帖子,我发现了不错的ggsci调色板包!我想你需要填充而不是颜色,试试
scale\u fill\u手册(…
Yep…真是一个尴尬的错误!是的,不用担心,我们所有人都遇到了。另一方面,感谢你的帖子,我发现了一个不错的ggsci调色板包!
> class(my_color)
[1] "character"