2017-03-24 47 views
1

我有很多序列標識,我使用ggplot2ggseqlogo進行繪製。垂直軸保持不變,但每個繪圖的水平軸不同。如何控制序列徽標的字體大小?

我不知道如何創建每個字母寬度相同的序列徽標。我嘗試使用stack_width手動調整字母寬度,以改變我的序列長度。不幸的是,這導致了單個字母之間的差距。

如何在不改變序列長度的情節下實現相同的字母大小,而不會在字母之間引入間隙?

下面我面對的問題的例子:

# "R version 3.3.1 (2016-06-21)" 
# "x86_64-w64-mingw32" 
# library(ggplot2) 
# library(ggseqlogo) 

AA_alphabet <- c('R','H','K','D','E','S','Y','T','N','Q','C','G','P','W','A','V','I','L','M','F') 

AA1 = c('RHKDES', 'RHKDES', 'RHKDGP', 'RHKDGP', 'TNQCGP') 
ggplot() + geom_logo(AA1, method='p', seq_type='other', namespace=AA_alphabet)+theme_logo() 

AA2 = c('RH', 'RH', 'RH', 'TN', 'TN') 
ggplot() + geom_logo(AA2, method='p', seq_type='other', namespace=AA_alphabet)+theme_logo() 

# control for sequence length: 
ggplot() + geom_logo(AA2, method='p',seq_type='other', namespace=AA_alphabet,stack_width = 0.2) + theme_logo() 
+0

就我而言,沒有辦法做到這一點,也沒有任何意義。如果您試圖在不同徽標之間進行比較,那麼它們必須具有相同的寬度。 – by0

+0

@ by0:感謝您的關注。我正在通過由許多物種組成的數據集來選擇正在選擇的網站。我希望通過使用標誌來顯示我選擇的感興趣基因下的AA位點的變異。然而,每個基因的位點數量是可變的。例如,只有兩個選址的基因只有大字母在視覺上沒有吸引力,這就是爲什麼我偶然發現這個問題。 – MBNik

回答

0

其實,怎麼樣這樣的事情?

require(gridExtra) 
AA_alphabet <- c('R','H','K','D','E','S','Y','T','N','Q','C','G','P','W','A','V','I','L','M','F') 

AA1 = c('RHKDES', 'RHKDES', 'RHKDGP', 'RHKDGP', 'TNQCGP') 
AA2 = c('RH', 'RH', 'RH', 'TN', 'TN') 

p1 = ggplot() + geom_logo(AA1, method='p', seq_type='other', namespace=AA_alphabet)+theme_logo() 
p2 = ggplot() + geom_logo(AA2, method='p', seq_type='other', namespace=AA_alphabet)+theme_logo() 

p3 = grid.arrange(p1, p2, ncol=1) 
print(p3) 

只要你想grid.arrange您可以添加儘可能多的地塊,以及調整使用ncolnrow參數的行和列的佈局。

+0

這樣做的好處 - 謝謝!我當時沒有考慮過繪製多個徽標。對於徽標中只有幾個字母的情況,它將照顧到浪費的空間。 – MBNik

相關問題