1

我想得到一个在左侧按 S1-6 列出的顺序保留 6 行的图,至于列我只对选定的交叉点感兴趣(只有非空的 S1 和 S2 以及一个特定的空 S1 -S2 相交)。

upset(df, 
    sets = c("S1","S2","S3","S4", "S5","S6"),
    matrix.color="black", 
    point.size=1, 
    line.size = 0.3, 
    text.scale=c(1, 0.5, 0.5, 0.4, 0.75, 0.6), 
    mainbar.y.max=21, 
    mb.ratio = c(0.7, 0.3),
    intersections = list( 
    list("S1"), 
    list("S1", "S3"), 
    list("S1", "S4"), 
    list("S1", "S6"),
    list("S1", "S3", "S4"), 
    list("S1", "S3", "S6"),
    list("S1", "S4", "S6"),
    list("S1", "S3", "S4", "S5"), 
    list("S1", "S3", "S4", "S6"), 
    list("S1", "S3", "S4", "S5", "S6"), 
    list("S1", "S2"),
    list("S2"), 
    list("S2", "S3"), 
    list("S2", "S3", "S4"), 
    list("S2", "S3", "S4", "S6"), 
    list("S2", "S3", "S4", "S5", "S6")),     
    queries = list(
    list(query = intersects, params = list("S1"), color = "maroon", active = T),
    list(query = intersects, params = list("S1", "S3"), color = "maroon", active = T),
    list(query = intersects, params = list("S1", "S4"), color = "maroon", active = T),
    list(query = intersects, params = list("S1", "S6"), color = "maroon", active = T),
    list(query = intersects, params = list("S1", "S3", "S4"), color = "maroon", active = T),
    list(query = intersects, params = list("S1", "S3", "S6"),color = "maroon", active = T),
    list(query = intersects, params = list("S1", "S4", "S6"), color = "maroon", active = T),
    list(query = intersects, params = list("S1", "S3", "S4", "S5"), color = "maroon", active = T),
    list(query = intersects, params = list("S1", "S3", "S4", "S6"), color = "maroon", active = T),
    list(query = intersects, params = list("S1", "S3", "S4", "S5", "S6"), color = "maroon", active = T),
    list(query = intersects, params = list("S1", "S2"), color = "black", active = T),
    list(query = intersects, params = list("S2"), color = "blue", active = T),
    list(query = intersects, params = list("S2", "S3"), color = "blue", active = T),
    list(query = intersects, params = list("S2", "S3", "S4"), color = "blue", active = T),
    list(query = intersects, params = list("S2", "S3", "S4", "S6"), color = "blue", active = T),
    list(query = intersects, params = list("S2", "S3", "S4", "S5", "S6"), color = "blue", active = T) 
    ))

这是我的情节的样子

但是,我的行顺序已经改变,我想使用 group.by="sets",所以我的问题是如何更改行和列的顺序,选择显示的交叉点并更改所选集的颜色。我想在左边有 S1-6 并分组红色,然后是黑色空路口,然后分组蓝色。

ComplexUpset 包非常好,但我也无法得到我需要的东西。有人可以帮我吗?

4

0 回答 0