Git Product home page Git Product logo

Comments (13)

krassowski avatar krassowski commented on May 29, 2024

Could you please recreate this with the movies example?

from complex-upset.

krassowski avatar krassowski commented on May 29, 2024

In particular, I cannot help without knowing what vc is, but a full reproducible example would be the best!

from complex-upset.

 avatar commented on May 29, 2024

sure, here it is

genres = list(colnames(movies)[18:24])
sampName = c('Drama', 'Comedy')
vc = ghibli_palette("MononokeMedium",type = "discrete")
upset(movies, genres, name='SNP', width_ratio=0.5, min_size=1000, sort_sets=FALSE, 
      base_annotations=list(
        'Intersection size'=intersection_size(text_colors=c(on_background='black', on_bar='black')
        ),
        queries=list(
          upset_query(set='Comedy', fill=vc[2]), upset_query(intersect = sampName, color=vc[3], fill=vc[3], only_components=c('intersections_matrix', 'Intersection size'))
        )
      )
    )

the vc color palette comes from: https://github.com/ewenme/ghibli

from complex-upset.

krassowski avatar krassowski commented on May 29, 2024

You have the queries argument in the wrong place. It should be passed to upset, not to base_annotations. Your code:

upset(
    movies, genres, name='SNP', width_ratio=0.5, min_size=1000, sort_sets=FALSE, 
    base_annotations=list(
        'Intersection size'=intersection_size(
            text_colors=c(
                on_background='black',
                on_bar='black'
            )
        ),
        queries=list(
          upset_query(set='Comedy', fill=vc[2], only_components=c('intersections_matrix')),
          upset_query(intersect = sampName, color=vc[3], fill=vc[3], only_components=c('intersections_matrix', 'Intersection size'))
        )
    )
)

Correct code:

upset(
    movies, genres, name='SNP', width_ratio=0.5, min_size=1000, sort_sets=FALSE, 
    base_annotations=list(
        'Intersection size'=intersection_size(
            text_colors=c(
                on_background='black',
                on_bar='black'
            )
        )
    ),
    queries=list(
        upset_query(set='Comedy', fill=vc[2], only_components=c('intersections_matrix')),
        upset_query(intersect = sampName, color=vc[3], fill=vc[3], only_components=c('intersections_matrix', 'Intersection size'))
    )
)

from complex-upset.

 avatar commented on May 29, 2024

That works well, however it seems to ignore to colour the intersection matrix and size with my data set.

sampName = list(colnames(DT3)[2:12])
vc = ghibli_palette("MononokeMedium",type = "discrete")
upset(
    DT3, sampName, name='SNP', width_ratio=0.5, min_size=1000, sort_sets=FALSE, 
    base_annotations=list(
        'Intersection size'=intersection_size(
            text_colors=c(
                on_background='black',
                on_bar='black'
            )
        )
    ),
    queries=list(
        upset_query(set='H4A4', fill=vc[2]),
        upset_query(intersect = sampName, color=vc[3], fill=vc[3], only_components=c('intersections_matrix', 'Intersection size'))
    )
)

ex

With the movie data it colours everything as expected tough

genres = list(colnames(movies)[18:24])
sampName = c('Drama', 'Comedy')
upset(
    movies, genres, name='SNP', width_ratio=0.5, min_size=1000, sort_sets=FALSE, 
    base_annotations=list(
        'Intersection size'=intersection_size(
            text_colors=c(
                on_background='black',
                on_bar='black'
            )
        )
    ),
    queries=list(
        upset_query(set='Comedy', fill=vc[2]),
        upset_query(intersect = sampName, color=vc[3], fill=vc[3], only_components=c('intersections_matrix', 'Intersection size'))
    )
)

movie

Any idea of what's happening?

from complex-upset.

krassowski avatar krassowski commented on May 29, 2024

Sadly, no. Does it work for the columns where there is only active set, like H4A4? Or for pairs?

from complex-upset.

 avatar commented on May 29, 2024

Would it be easier for you if I shared some of the dataset?

from complex-upset.

krassowski avatar krassowski commented on May 29, 2024

from complex-upset.

 avatar commented on May 29, 2024

They are non-human data so no anonymity issue. But I am not sure 100 rows would represent the data accurately.
By the way it returns

number of columns of result is not a multiple of vector length (arg 1)number of columns of result is not a multiple of vector length (arg 1)Duplicated aesthetics after name standardisation: width, na.rm, orientationDuplicated aesthetics after name standardisation: na.rm

that seems somewhat harmless to me.

from complex-upset.

 avatar commented on May 29, 2024

I just realized the example I was following is taken from the python example, while I am using R and the doc example is R is much shorter, is it simply some features are not implemented in R?

from complex-upset.

krassowski avatar krassowski commented on May 29, 2024

from complex-upset.

 avatar commented on May 29, 2024

I think I just managed to solve it. I don't know what happened but it seems the problem was with Rstudio. I restarted and updated it. I suspect it has something to do with the cache of Rstudio.

from complex-upset.

krassowski avatar krassowski commented on May 29, 2024

PS. I now added R examples as a separate article in the documentation; now both the R and Python will always be exactly the same (generated from the same file). Thanks for bringing this up!

from complex-upset.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.