【发布时间】:2020-11-13 00:59:27
【问题描述】:
如何在同一个图上为两个数据系列着色不同的颜色?
我结合了两个不同的数据框:
ages_test=c('<18','18-24','25-44','45-64','65+',"UNKNOWN")
values_test=c(411694,1313082,2301521,918416,41728,178)
df_test1=data.frame(ages_test,values_test)
values_test=c(134924,350794,612476,228237,10472,49)
df_test2=data.frame(ages_test,values_test)
df_combined = rbind(df_test1, df_test2)
然后我创建了这个情节:
df_combined %>%
ggplot(aes(x=ages_test, y=values_test), label=values_test) +
geom_bar(stat='identity') +
scale_y_continuous(breaks=scales::breaks_extended(n=10), labels=comma) +
geom_text(hjust=.5, vjust=-1, size=3, aes(label=comma(values_test)))
此图表包含两个不同的数据系列和每个系列的标签。我希望其中一个颜色不同,以便区分两者。
我尝试像ggplot(aes(x=ages_test, y=values_test, label=values_test, fill=values_test)) 那样将fill=values_test 添加到aes,但结果图表显示颜色渐变:
但是,我只想要两种不同的颜色,每个数据系列一种。
我也尝试过使用color=as.factor(values_test),但这会产生 12 种不同的颜色,一种用于我的组合数据框中的每个年龄类别。
【问题讨论】: