Вы можете использовать ggplot2
s scale_fill_manual
функцию:
library(dplyr)
library(ggplot2)
mtcars %>%
count(cyl = factor(cyl)) %>%
mutate(pct = prop.table(n)) %>%
ggplot(aes(x = cyl, y = pct, fill=cyl, label = scales::percent(pct))) +
geom_col(position = 'dodge') +
geom_text(position = position_dodge(width = .9), # move to center of bars
vjust = -0.5, # nudge above top of bar
size = 3) +
scale_y_continuous(labels = scales::percent) +
scale_fill_manual(values = c("#555555", "#554325", "#122355"))
Мы можем использовать шестнадцатеричные значения для цветов или имен, то есть возможно что-то вроде
scale_fill_manual(values = c("orange", "black", "red"))