发布于 2022-11-13 15:59:48
复杂镦粗提供了在R中创建点密度图的实用程序(按照ggplot2方法,请参见文档)。
让我们为一个示例加载和过滤一些数据:
library(ggplot2)
library(ComplexUpset)
movies = as.data.frame(ggplot2movies::movies)
genres = c('Comedy', 'Drama', 'Action')
movies[genres] = movies[genres] == 1
movies[movies$mpaa == '', 'mpaa'] = NA
movies = na.omit(movies)
首先,您需要安排数据。
movies_subset = head(movies, 300)
movies_subset$good_rating = movies_subset$rating > mean(movies_subset$rating)
arranged = arrange_venn(movies_subset, sets=genres)
然后,您可以用标准的ggplot2函数和复杂翻转:geom_venn_region
、geom_venn_circle
、geom_venn_label_set
提供的新geoms来绘制它。
(
ggplot(arranged)
+ theme_void()
+ coord_fixed()
+ geom_venn_region(movies_subset, sets=genres_subset, alpha=0.2)
+ geom_point(aes(x=x, y=y, color=region), size=1.5)
+ geom_venn_circle(movies_subset, sets=genres_subset, size=2)
+ geom_venn_label_set(movies_subset, sets=genres_subset, aes(label=region), outwards_adjust=2.6)
+ scale_color_venn_mix(movies, sets=genres_subset, guide='none')
+ scale_fill_venn_mix(
movies, sets=genres_subset,
guide='none',
highlight=c('Comedy-Action', 'Drama'),
inactive_color='white'
)
)
它还可以注释个别的点(和更多!)
但是,这种实现有一些限制:
免责声明:我是ComplexUpset的作者。
https://stackoverflow.com/questions/74082830
复制相似问题