如何在ggplot条形图中沿x轴分组

时间:2015-11-13 22:53:01

标签: r ggplot2

我有一堆基因组数据如下

chr   leftPos    V
1      1232      122
1      3232      443
1      43534     13  
3      12        12
3      234234    432
4      1222      155
5      4324      124
5      345345    75
5      456457    83

我想将此数据绘制为由chr组织的条形图,以便显示chr1的所有条形,然后按照数据框显示chr2等

到目前为止,我所管理的是:

ggplot(TBB_2)+
  geom_bar(aes(TBB_2$leftPos, TBB_2$V),stat="identity", fill="red",group="chr")

但我收到了错误

Warning messages:
1: Stacking not well defined when ymin != 0 
2: position_stack requires constant width: output may be incorrect 

修改

所以我尝试了一种替代方法,即组织一个方面图,使每个方面代表一个chr,但没有任何东西被绘制,我不知道为什么不:

ggplot(TBB_2)+
  geom_bar(aes(x = TBB_2$leftPos,y = as.numeric(TBB_2$V)),stat="identity")+
  facet_wrap(~ chr)

enter image description here

1 个答案:

答案 0 :(得分:2)

这会对你有用吗?

ggplot(TBB_2, aes(x=factor(leftPos), y=V)) +
  facet_grid(. ~ chr, scales="free_x", space="free_x") +
  geom_bar(stat="identity")

(请注意,您需要将leftPos视为因子,并在x轴上设置自由缩放和间距)

R plot

希望有所帮助!