ggplot2 - противоположные цвета для заливки без перекодирования - PullRequest
0 голосов
/ 05 мая 2020

Я хочу создать сюжет и расслоить его по полу. К сожалению, мой df закодирован таким образом, что мужчины на графике красные, а женщины синие. глаз.

ggplot(df, aes(x = age, color = sex))+
geom_histogram(position = "identity")+
scale_color_manual(values = c("#00BFC4", "#F8766D"))

как правильно сделать? Заранее спасибо!

Ответы [ 2 ]

1 голос
/ 05 мая 2020

Если я правильно понял ваш вопрос, вы можете решить эту проблему, сопоставив пол с fill.

df <- data.frame(sex = rbinom(1000, 1, .5),
             age = rnorm(1000, mean = 50, sd = 10))
df$sex <- as.factor(df$sex)


ggplot(df, aes(x = age, fill = sex))+
geom_histogram(position = "identity")+
scale_fill_manual(values = c("#00BFC4", "#F8766D"))

После этого вы можете переключать цвета, чтобы они соответствовали правильно

1 голос
/ 05 мая 2020

Я думаю, вы хотите указать fill вместо colour в вызове aes и использовать scale_fill_manual вместо scale_colour_manual. Вы получите лучшее сравнение двух групп, если вы также используете position = "dodge":

ggplot(df, aes(x = age, fill = sex)) +
  geom_histogram(position = "dodge", colour = "black") +
  scale_fill_manual(values = c("pink", "blue"))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...