2
在我試圖繪製的數據中,每個樣本屬於幾個組中的一個,它們將繪製在它們自己的網格上。我正在繪製每個樣本的堆積條形圖,這些樣本將按照越來越多的序列進行排序,這是每個樣本的id屬性。ggplot2堆疊的條形圖,格式和網格
目前,小區(有一些隨機數據)看起來是這樣的: (因爲我沒有要求的10代表圖片,我在這裏將它鏈接)
有幾件事情我需要完成。我不知道從哪裏開始。
- 我希望酒吧不要放在其相應的nseqs值,而是按照升序nseqs順序相鄰放置。
- 我不希望每個網格具有相同的比例。一切都需要貼身貼合。
我試圖設置尺寸和大小爲facet_grid free_x,但這會導致一個未使用的參數錯誤。我認爲這與我無法正確加載秤庫的事實有關(它一直說不可用)。與繪圖交易
代碼:
ggfdata <- melt(fdata, id.var=c('group','nseqs','sample'))
p <- ggplot(ggfdata, aes(x=nseqs, y=value, fill = variable)) +
geom_bar(stat='identity') +
facet_grid(~group) +
scale_y_continuous() +
opts(title=paste('Taxonomic Distribution - grouped by',colnames(meta.frame)[i]))
這個工作很完美!我正在運行R的舊版本。將nseqs列更改爲一個因子正是我所需要的。 現在情節看起來好多了。 鏈接:http://i.imgur.com/PilFunl.png 謝謝! – Nik
但仍然有問題。當存在具有相同nseqs的樣本時,它們會合並並堆疊在一起。有沒有辦法避免這種情況? – Nik
@Nik想到的兩件事情是1.切換回'facet_grid'並使用'facet_grid(sample〜group)',如果你通常有多個樣本(確保'sample'是一個因素! )或2.使用(ggfdata,paste0(nseqs,「。」,「sample」))'創建一個新列ggfdata $ nseqs.sample < - 並使用該列而不是'nseqs'。 – Gregor