ggplot2 отображает все уровни групповой переменной на одной плитке - PullRequest
1 голос
/ 18 июня 2020

Я хотел бы изобразить каждое значение «x» для каждого гена, а также каждый уровень трех неисключительных «типов» (групповых переменных), которым он принадлежит. Можно ли разделить квадрат или плитку на три уровня групповой переменной или показать каждый уровень рядом друг с другом, а не на другом фасете, как показано ниже?

Если бы это был другой график, я мог бы использовать " пары »и, например, дрожат переменные группы.

library(ggplot2)
dat <- data.frame(gene = factor(c(rep('gene1',2), rep('gene2',2), rep('gene2',2), 
rep('gene3',2), rep('gene3',2), rep('gene1',2))),
            x = factor(c(rep('a',3), rep('a',3), rep('b',3), rep('c',3))))
dat$type <- factor(rep(1:3))

library(ggplot2)
ggplot(dat, aes(gene, x, fill=type)) + geom_tile() + facet_grid(type ~ .)

1 Ответ

0 голосов
/ 18 июня 2020

Правильно ли я понимаю, что вы хотите это:

    library(ggplot2)
ggplot(dat, aes(gene, type, fill=type)) + geom_tile() + facet_grid(x~.)

Изменить: Может быть, вам нужно сделать сюжет mosai c. В этом случае решением может быть пакет ggmosai c. Это даст вам результат, который выглядит примерно так:

enter image description here

#To install:
devtools::install_github("haleyjeppson/ggmosaic")

library(ggmosaic)
ggplot(data=dat) + geom_mosaic(aes(x=product(x, gene), fill = type), divider = ddecker()) 
...