我试图绘制两个直方图的叠加图,其中一个表示所有数据,另一个表示满足条件的子集。我有一个.csv
文件,我导入为 Dataframe ,代码构建一个新的 Dataframe 与类别,和ggplot一起绘制它们。
我的程序代码如下:
dataHaploid=read.csv("Graphes/Hap.csv")
dataHaploid$Group="All Loci"
dht=dataHaploid[dataHaploid$Divergence>.01, ]
dht$Group="Divergent Loci"
dataHaploid <- rbind(dataHaploid,dht)
dha=dataHaploid[dataHaploid$BetaDist==0,
][dataHaploid[dataHaploid$BetaDist==0, ]$SignalWidth==10,
][dataHaploid[dataHaploid$BetaDist==0,
][dataHaploid[dataHaploid$BetaDist==0, ]$SignalWidth==10,
]$EcolWidth==10, ]
dhaa =ggplot(dha, aes(MeanRecombinationRate, fill=Group)) +
geom_histogram(alpha=.5, position="identity", bins=25) +
ylim(0,100)+xlim(0,.5)
dhaa
但是,当我绘制它时,我得到了下面的图形:
由于蓝色是红色的子集,因此不应出现纯蓝色区域,就像在几个箱中一样。此外,当我将所有数据绘制在一起时,我会得到以下结果:
这表明如果装仓方案是一致的,那么无论如何在那些仓中不应该有任何数据。
我不确定在这里要做什么,或者如何调试它;任何帮助都是感激的。
我试过修改构建新数据集的代码,但确认结果集有630个点(原始数据集的500个),130个点符合条件,130个点在第二个bin中。我试过改变bin编号,结果是不同的bin编号--这发生在我的所有子集中,而不仅仅是子集a,我在子集a上包含了代码。
以下R geom_histogram position="identity" inconsistent:如果我设置bin宽度= 0.01,边界= 0而不是定义bin数目,这也持续;还通过xlim和bin的数目来设置bin以使其与该设置一致。
不过,奇怪的是,绘制所有这些图会产生2个空的bin,尽管第一个bin中只有一个纯蓝色的bin:
1条答案
按热度按时间6yoyoihd1#
哎呀,发现了,ylim正在剪切条形,因为数据在那个箱子里有超过100个点。我觉得很傻。当我不能创建一个重现这个问题的数据集时发现了这个问题--因为它需要超过100个点才能导致错误,并且超过了字符限制......不管怎么说,我很欣赏编辑+注解,stackOverflow的新功能