ComplexUpset:如何仅绘制特定的交叉点?

时间:2021-01-14 13:18:00

标签: r upsetr

我正在尝试制作一个仅显示特定交叉点的不安图。我有 6 个不同的峡湾,它们产生了太多的交叉点。我只对绘制其中一些感兴趣:

我已经运行了下一个脚本:

upset(fjords, fjordnames, width_ratio=0.15, height_ratio = 0.6, sort_sets=FALSE, sort_intersections = "descending", sort_intersections_by = 'cardinality',
 base_annotations = list('Intersection size'=list(aes=aes(x=intersection, fill=Classification), geom=list(geom_bar(stat = "count", position='stack'),
 theme(panel.border = element_blank(), panel.grid.major = element_blank(), panel.grid.minor = element_blank(), axis.line = element_line(colour = "black")), scale_fill_manual(values=divpalette)))))

我得到了下一个情节: Species shared by fjords

但我只对显示用红色箭头标记的交叉点感兴趣。我要删除所有其他人。我一直在寻找答案,但没有找到。有没有办法只选择那些交叉点?

先谢谢你

1 个答案:

答案 0 :(得分:0)

您需要先更新到最新版本(最低推荐 1.2):

install.packages('ComplexUpset')

然后使用 intersections 参数:

upset(
    movies,
    genres,
    width_ratio=0.1,
    intersections=list(
        'Comedy',
        'Drama',
        c('Comedy', 'Romance'),
        c('Drama', 'Romance'),
        'Outside of known sets',
        'Action'
    )
)

enter image description here

您可以通过添加 sort_intersections=FALSE 来保持顺序。