ggforce geom_mark_ellipse, охватывающий категориальные / факторные значения - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь использовать пакет geom_mark_ellipse из ggforce для обхода определенного c подмножества моих данных. В то время как одно измерение моих данных равно цифре c, другое является категориальным, и при попытке добавить один эллипс geom_mark_ellipse dr aws два эллипса для каждого применимого значения категориального измерения. Возможно, это звучит сложнее, чем есть, поэтому вот простой пример:

library(tidyverse)
library(ggforce)

set.seed(20)
my_data <- tibble(x = rnorm(20, 7, 5),
                  y = factor(rep(c("a", "b", "c", "d"), 5), ordered = TRUE),
                  z = rnorm(20, 10, 2))

ggplot(my_data, aes(x, y, size = z)) +
    geom_point() +
    geom_mark_ellipse(size = 1, aes(filter = ((y %in% c("c", "d")) & (x > 6) ))) +
    ggtitle("geom_ellipse with factor on y-axis")

Это дает следующий график: image two ellipses">

Хотя я хотел бы получить диаграмма, подобная этой:

set.seed(20)
my_data2 <- tibble(x = rnorm(20, 7, 5),
                  y = rep(c(1,2,3,4), 5),
                  z = rnorm(20, 10, 2))

ggplot(my_data2, aes(x, y, size = z)) +
    geom_point() +
    geom_mark_ellipse(size = 1, aes(filter = ((y %in% c(3, 4)) & (x > 6) ))) +
    ggtitle("geom_ellipse with numerical on y-axis")

image one ellipse">

Конечно, обходной путь должен привести фактор к нумерации c - все же: есть ли способ «сказать» geom_mark_ellipse, чтобы охватить уровни факторов (или другие типы значений категориальных переменных), или это поведение является предполагаемой функцией?

...