0
使用ggplot2
,我试图根据其类别使用2种不同的颜色对一组特定的颜色进行着色。在下面的图中,我列出了一些填充为红色的特定值,但由于我的方法,它会将“合作伙伴列”(列上的列)从着色中排除,但我希望它们充满蓝色。如何在ggplot 2中按类别高亮显示特定的条?
如果我更改scale_fill_manual()
中的值,那么它将不会执行任何操作,因为“填充”表达式会优先着色“TRUE”和“FALSE”类别。
我该如何更改我的代码,以便伴随着填充的红色条的条会被涂成蓝色?
我现在的情节:
我的代码:
pop %>%
group_by(age_range, sex) %>%
summarize(population = sum(population)) %>%
mutate(prop = population/sum(population)) %>%
ggplot() +
geom_col(aes(x = age_range, y = prop, color = sex,
fill = (prop >= .504 & sex == 'female' & age_range != '75 - 79'),
width = .85),
position = 'dodge') +
scale_fill_manual(values = c('Grey60', 'Grey60', 'Blue', 'Red')) +
scale_color_manual(values = c('Red', 'Blue')) +
geom_text(aes(x = age_range, y = prop, fill = sex, label = percent(prop)),
position = position_dodge(width = .9),
vjust = .358, hjust = 1.1,size = 4, color = 'White') +
scale_y_continuous(limits = c(0, 1), expand = c(0,0)) +
geom_hline(yintercept = .504, color = 'Grey', alpha = .7) +
coord_flip()
嘿,感谢您的帮助!你的回答正是我需要的! –