我有一个包含四列的R数据框:
我想使用ggplot2生成miRNA面向x和y的相关图。我还希望根据相关方向将图分成两个部分,以便所有显示正相关的图都在顶部,所有显示负相关的图都在底部。
使用facet_wrap我找不到插入这种中断的方法,至少不能以通常应用于不同数量的miRNA的方式 - 例如如果有2个具有正相关的miRNA和7个具有负相关的miRNA将绘制3 x 3网格,其中顶行包含正负图的混合,而在这种情况下我想要的是具有2个正数的顶行miRNA和后续行中的7个阴性miRNA,必要时带有间隙,以便所有图都具有相同的大小。
我认为使用facet_grid可能会有效。我在数据框中添加了一个名为' sign'的额外列,这是一个具有级别'否定'并且'肯定',然后使用plot + facet_grid(sign~miRNA)
,但这没有用 - 所有负相关的miRNA在阳性部分显示为空图,反之亦然。
对于缺少图像感到抱歉,我在这里很新,因此无法发布。
答案 0 :(得分:0)
看看这里: http://docs.ggplot2.org/0.9.3.1/facet_wrap.html
# To change plot order of facet wrap,
# change the order of varible levels with factor()
diamonds$color <- factor(diamonds$color, levels = c("G", "J", "D", "E", "I", "F", "H"))
# Repeat first example with new order
d <- ggplot(diamonds, aes(carat, price, fill = ..density..)) +
xlim(0, 2) + stat_binhex(na.rm = TRUE) + theme(aspect.ratio = 1)
d + facet_wrap(~ color)
您应该能够计算每组相关性,然后按相关顺序设置miRNA因子水平。 facet_wrap应该只是工作。