Comments (10)
Reopening to remember to export it in next version. You are running latest version which is on CRAN
from complex-upset.
Yes! Here is an example:
(load the data, packages, ggplot2)
library(ggplot2)
library(ComplexUpset)
movies = ggplot2movies::movies
movies[movies$mpaa == '', 'mpaa'] = NA
movies = movies[complete.cases(movies), ]
genres = c(
'Action', 'Animation', 'Comedy', 'Drama',
'Documentary', 'Romance', 'Short'
)
isize = intersection_size(bar_number_threshold=1)
isize$geom = c(
isize$geom,
scale_y_log10()
)
upset(
movies, genres, name='genre', min_size=100,
base_annotations =list(
'Intersection size'=isizea
)
)
While this currently is a two-step process, it will be even easier in the next version of ComplexUpset.
from complex-upset.
Great! thanks again for another speedy and helpful response!
from complex-upset.
Hi -- apologies for opening up this old item, but I'm having an odd issue -- when implementing the above lines to log the intersection size, I'm getting empty bars on my plot, though the intersection counts are showing up.
I know this is a trivial error, but I'm having a hard time finding any way to address it...maybe it's some config issue in my R studio setup?
Thanks in advance.
from complex-upset.
@b-tierney indeed the old solution does not work. Here is a link to a working one: https://stackoverflow.com/a/74413990/6646912
from complex-upset.
Ah I see thank you! One thing -- that function, get_mode_presence, doesn't appear to be exported from the complex upset namespace. Is my version out of date? Or should I hard code it somewhere.
from complex-upset.
ComplexUpset:::get_mode_presence ?
from complex-upset.
Ah lovely I got it -- I just manually defined the following three functions in my script, pulled from from the git repo
check_argument = function(
value,
allowed,
description
) {
if (!(value %in% allowed)) {
stop(
paste0(
description,
' has to be one of: ',
paste(allowed, collapse=' or '),
', not "',
value,
'"'
)
)
}
}
solve_mode = function (mode) {
check_argument(
mode,
allowed = c(
'exclusive_intersection', 'distinct',
'inclusive_intersection', 'intersect',
'exclusive_union', # no alias
'inclusive_union', 'union'
),
'mode'
)
# resolve aliases
mode = switch(
mode,
distinct='exclusive_intersection',
intersect='inclusive_intersection',
union='inclusive_union',
mode
)
}
get_mode_presence = function(mode, prefix='in_', symbol=TRUE) {
column = paste0(prefix, solve_mode(mode))
if (symbol) {
sym(column)
} else {
column
}
}
from complex-upset.
not found -- but maybe it's a versioning thing...regardless tossing those three in there did the trick
from complex-upset.
Ah yes looks like I'm running 1.3.3 -- sorry about that, really thought I'd updated yesterday. In any case, all is well, and thank you for the quick response + the stellar work!
from complex-upset.
Related Issues (20)
- Incorrect intersection size HOT 8
- Memory issue when passing "intersection=" parameter to large matrix HOT 1
- Add more examples
- add intersection of the union of certain sets within the same intersection upset plot. HOT 2
- Set default color of dots in the matrix plot HOT 1
- Ordering by intersection sizes and degree
- y axis units for the intersection size and stacking plots HOT 7
- Adjusting “Intersection size” to display the percentage of each group when the bars are filled
- Issue with fill colours for set sizes HOT 3
- Changing the y-axis scale for intersection_size from ComplexUpset package HOT 1
- Mapping categorical values to dots in intersection matrix HOT 1
- Deviation
- Possible built-time bug in `upset_themes`
- Coloring multiple *specific* insections
- API seems broken after the latest updates in ggplot2 (>= 3.5.0) HOT 28
- Error "The `axis.text.theta` theme element is not defined in the element hierarchy." HOT 2
- How to color points by variable not in the dataset
- Setting order of intersections with a long list
- Define one or two groups to be compared to all other groups HOT 1
- Error in plot_them(plot)! HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from complex-upset.