Используя предопределенную цветовую палитру в ggplot

Кто-либо знает, как использовать предопределенную цветовую палитру в 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()
33
задан Henrik 4 March 2016 в 08:20
поделиться

3 ответа

Вы должны поместить 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) .

33
ответ дан 27 November 2019 в 17:56
поделиться

Если цвета являются палитрой, используйте scale_colour_manual :

ggplot(mydata, aes(factor(phone_partner_products), colour = colour_variable)) +
  scale_colour_manual(values = rhg_cols)
23
ответ дан 27 November 2019 в 17:56
поделиться

Сначала добавьте цвета в ваш набор данных:

mydata$col <- rhg_cols

Затем сопоставьте цвет с этим столбцом и используйте scale_colour_identity

ggplot(mydata, aes(factor(phone_partner_products, colour = col))) + 
  geom_bar() + 
  scale_colour_identity()
10
ответ дан 27 November 2019 в 17:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: