2014-06-28 75 views
1

我試圖做一個堆疊的條形圖,X軸是時間,Y軸是金額,填充顏色是某些功能。ggplot堆積條形圖的x值和沒有y /填充值

我的數據看起來是這樣的:

> base 
    Number           Mut Time Percent 
1 117         22:A->G  2 81.81 
2 13         24:G->A  2 9.09 
3 10 22:A->G 24:G->A 108:G->A 158:G->A 162:G->A  2 6.99 
4  1       22:A->G 24:G->A  2 0.69 
5 32         24:G->A  3 94.11 
6  1       24:G->A 162:G->T  3 2.94 
7  1       24:G->A 82:G->T  3 2.94 

當我使用的代碼做一個堆積條形圖中ggplot:

ggplot(base,aes(x = Time, fill = Mut, y = Percent)) + geom_bar(stat='identity') + theme(legend.key.size = unit(.5, "cm")) + ylab("Number") 

我得到類似如下的圖表:

http://imgur.com/32XCkTm,yfCAJsx#0

我的問題是我想那裏有零值fo R個時間= 1和時間= 4

事情與此類似:

http://imgur.com/32XCkTm,yfCAJsx#1

有沒有一種方法,我可以做到這一點?現在,我只是說0值數據爲時間1和4,並加入我的填充功能(MUT)是一個已經在數據出現了:

> base 
    Reads           Mut Time Percent 
1  0         22:A->G  1 0.00 
2 117         22:A->G  2 81.81 
3 13         24:G->A  2 9.09 
4 10 22:A->G 24:G->A 108:G->A 158:G->A 162:G->A  2 6.99 
5  1       22:A->G 24:G->A  2 0.69 
6 32         24:G->A  3 94.11 
7  1       24:G->A 162:G->T  3 2.94 
8  1       24:G->A 82:G->T  3 2.94 
9  0         22:A->G  4 0.00 

我的問題是我不希望有繼續搜索已經在數據中的特徵(Mut)。有沒有一種方法可以讓ggplot自動將時間= 1和時間= 4的x值放入沒有條形圖的圖形中,而無需向數據添加值?我一直在尋找幾個小時,找不到任何答案。

謝謝。

+0

只是讓 「時間」 的一個因素。 'base $ Time < - factor(base $ Time,levels = 1:4)'。這樣'ggplot'將會「知道」關於缺失的值。 – MrFlick

+0

這工作得很好,謝謝! –

回答

1

添加+ scale_x_discrete(limits = 1:4)

enter image description here