0
我有一個2228的2 data.frame,看起來是這樣的:使用GGPLOT2繪製多個不同長度的線路
> head(diffSums, 10)
nTranscripts Library
D6_NoSort_2250b_ATTATACGCCCC 63963 NoSort_2250b
D6_EcadSort_6000b_CCACACCCAGCC 193050 EcadSort_6000b
D6_EcadSort_2250b_CCGATGATTAGC 77631 EcadSort_2250b
D6_EcadSort_2250b_TGTCTGCTTTAG 106599 EcadSort_2250b
D6_EcadSort_2250b_TTCACAAGTTTC 88775 EcadSort_2250b
D6_EcadSort_6000b_CCATATCCAGCT 97861 EcadSort_6000b
D6_EcadSort_6000b_CAACGACTTAGG 91813 EcadSort_6000b
D6_EcadSort_2250b_AGTGAACAGGCG 80503 NoSort_2250b
D6_EcadSort_2250b_AAGCGGCTGCGC 93326 EcadSort_2250b
D6_EcadSort_2250b_CGTTTCACTTCG 72013 NoSort_2250b
其中每diffSums$Library
條目的數量而變化:
> table(diffSums$Library)
EcadSort_2250b EcadSort_2250x8b EcadSort_6000b EcadSort_6000x3b NoSort_2250b NoSort_2250x23b NoSort_2250x8b NoSort_6000b NoSort_6000x3b
136 321 131 422 269 72 452 192 233
我想用ggplot2爲同一圖上的每個庫繪製一條線。我能夠通過手動grep'n完成每個庫和繪圖:
ggplot() +
geom_line(data=diffSums[grep("EcadSort_6000x3b", rownames(diffSums)),], aes(x=seq(as.vector(table(diffSums$Library))[4]), y=sort(nTranscripts, decreasing=TRUE)), color='green') +
geom_line(data=diffSums[grep("NoSort_2250b", rownames(diffSums)),], aes(x=seq(as.vector(table(diffSums$Library))[5]), y=sort(nTranscripts, decreasing=TRUE)), color='blue')
...但我知道必須有一個更簡單的方法!任何幫助將不勝感激。
什麼的結構你想要繪製的數據?上面包含的示例數據中缺少diffSums的'lib'列。另外,什麼是colSums.diff。在這種情況下?如果您包含樣本數據並明確說明您要繪製的內容,那將更容易提供幫助。 – shreyasgm
@shreyasgm對不起! 'lib' =='庫'。代碼已更新。 – user2117258