[英]Using ggplot2 to plot multiple lines of different lengths
我有一個2228 x 2 data.frame,看起來像這樣:
> 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')
...但是我知道一定有更簡單的方法! 任何幫助將不勝感激。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.