Кто-либо знает, как использовать предопределенную цветовую палитру в ggplot?
У меня есть вектор цветов, которые я хотел бы использовать:
rhg_cols <- c("#771C19", "#AA3929", "#E25033", "#F27314", "#F8A31B",
"#E2C59F", "#B6C5CC", "#8E9CA3", "#556670", "#000000")
Но то, когда я пытаюсь ничему передать его, произошло
ggplot(mydata, aes(factor(phone_partner_products)), color = rhg_cols) +
geom_bar()
Вы должны поместить color = rhg_cols
внутри aes ()
. Насколько я могу судить, вы хотите применить градиент к полосам (на графике) с переменной фактором на абсциссе? Затем используйте fill
- попробуйте вместо этого:
ggplot(mydata, aes(factor(phone_partner_products), fill = factor(phone_partner_products))) +
geom_bar() +
scale_fill_manual(values = rhg_cols)
или попробуйте получить приблизительную реплику с помощью:
ggplot(mydata, aes(factor(phone_partner_products), fill = phone_partner_products))) +
geom_bar() +
scale_fill_gradient(low = "#771C19", high = "#000000")
Обратите внимание, что во втором случае непрерывная переменная передается в fill
эстетику, поэтому scale_fill_gradient
передается впоследствии. Если вы передаете коэффициент
в fill
aes, вы должны придерживаться scale_fill_manual (values = rhg_cols)
.
Если цвета являются палитрой, используйте scale_colour_manual
:
ggplot(mydata, aes(factor(phone_partner_products), colour = colour_variable)) +
scale_colour_manual(values = rhg_cols)
Сначала добавьте цвета в ваш набор данных:
mydata$col <- rhg_cols
Затем сопоставьте цвет с этим столбцом и используйте scale_colour_identity
ggplot(mydata, aes(factor(phone_partner_products, colour = col))) +
geom_bar() +
scale_colour_identity()