ggplot2-geom_histogram / scale_fill_manual

时间:2019-07-01 10:16:24

标签: r ggplot2

我正在处理以下数据框(df):

df$GP<-c(0,0,0,1,1,2,3,3,3,3,4,4,9,15,18,18,19,19,20,20,21,22,22,23)

df$colour<-c("g","g","g","g","g","g","g","g","g","g","g","g","t","t","g","g","g","g","g","g","g","g","g","g")

我想要下面的直方图,但是显示colour=="g"colour=="t"的填充不同。 plot 但是,运行以下代码,标为colour=="t"的条形图将超出比例(最大为1-plot2),而应为0.25(plot1)。

ggplot(data=df,aes(x=GP,y=..ndensity..))+geom_histogram(bins=25,aes(fill=colour))+scale_fill_manual(values=c("black","grey"))

plot2

您对如何实现此目标有任何想法吗?

非常感谢您提供的帮助!

1 个答案:

答案 0 :(得分:0)

我使用小标题作为数据集的数据类型,使用不同的小标题变量名称。

结果如您所愿。

    df[ (~df.value1.str.contains(r'\d')) & (df.value1.str.len() < 2) & (df.value1.str.startswith('nn') ]

,这是输出图: Output Plot

我希望这能解决您的问题