hello I am creating upsetr plot not able figure out how can I plot the data as show in below image
I saw different plot making similar to this but not same, Can any one suggest me an easy way to do it and seen some of the threads not able reproduce few according my above image kind output
Use a color palette for matrix points in UpSetR
Thank you
You can reproduce this plot using ComplexUpset 1.3 or newer.
Prepare the dataset:
movies = ggplot2movies::movies
movies[movies$mpaa == '', 'mpaa'] = NA
movies = movies[complete.cases(movies), ]
And plot:
upset(
movies,
c('Action', 'Comedy', 'Drama'),
queries=list(
upset_query(set='Action', fill='orange'),
upset_query(set='Comedy', fill='blue'),
upset_query(set='Drama', fill='coral3')
),
base_annotations=list(
'Intersection size'=(
intersection_size(
bar_number_threshold=1, # show all numbers on top of bars
width=0.5, # reduce width of the bars
)
# add some space on the top of the bars
+ scale_y_continuous(expand=expansion(mult=c(0, 0.05)))
+ theme(
# hide grid lines
panel.grid.major=element_blank(),
panel.grid.minor=element_blank(),
# show axis lines
axis.line=element_line(colour='black')
)
)
),
stripes=upset_stripes(
geom=geom_segment(size=12), # make the stripes larger
colors=c('grey95', 'white')
),
# to prevent connectors from getting the colorured
# use `fill` instead of `color`, together with `shape='circle filled'`
matrix=intersection_matrix(
geom=geom_point(
shape='circle filled',
size=3.5,
stroke=0.45
)
),
set_sizes=(
upset_set_size(geom=geom_bar(width=0.4))
+ theme(
axis.line.x=element_line(colour='black'),
axis.ticks.x=element_line()
)
),
sort_sets='ascending',
sort_intersections='ascending'
)