我有很多序列标识,我使用ggplot2
和ggseqlogo
绘制。垂直轴保持不变,但每个图的水平轴不同。
我不知道如何为每个字母创建宽度相同的序列标识。我尝试使用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 :(得分: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
,并使用ncol
和nrow
参数调整行和列的布局。