ggplot 画图可以根据dataframe中类别变量生成不同的颜色。但有时需要指定类别变量值和颜色的对应关系,可以通过scale_*_manual() 函数来实现。
手动选择变量颜色
选择自己的一组颜色并通过函数 scale_*_manual() ,将它们分配给分类变量(* 可以是color、colour或fill)。 指定颜色的数量必须与类别数量匹配。
示例代码:
library(ggplot2)
col_vec <- colorRampPalette(c("red", "orange", "blue"),space = "rgb")(7)
col_vec <-c("red","blue","green","greenyellow","gold","gray", "orange")
col_vec <-c("grey0","grey10","grey20","grey30","grey40",
"grey50","grey60","grey70")
# colors()
ggplot(data = mpg) +
geom_bar(mapping = aes(x = hwy, fill = class)) + # 改变填充颜色
scale_fill_manual(values = col_vec)
# table(mpg$class)