将stat_ellipse限制为某些数据点

时间:2017-10-24 10:41:41

标签: r ggplot2 ellipse

我有一个包含四类元音的数据集,类似于以下内容:

speaker   vowel_category  f1    f2
1          a              x     x
1          b              x     x
1          c              x     x
1          d              x     x
2          a              x     x
2          b              x     x...

这个geom_point代码用stat_ellipse绘制了所有一个图形,并且是我需要的90%:

ggplot(data = topicsubset_ikf, aes(x = F2, y = F1, shape = CATEGORY)) +
  geom_point() +
  scale_y_reverse() +
  scale_x_reverse() +
  xlab("F2") +
  ylab("F1") + 
  labs(title = "All speakers with KIT and FLEECE tokens") +
  coord_cartesian(xlim = c(1.9, 1.1), ylim = c(0.3, 1.5)) +
  facet_wrap(~ SPEAKER) +
  scale_color_manual(values = c("#000000", "#FF8F00", "#000000", "#A200FF")) +
  stat_ellipse(geom = "polygon", alpha = 1 / 2, aes(fill = CATEGORY))

然而,如果我可以在四个类别中的两个(例如a和b)中绘制椭圆,而不是全部4个,那将是理想的,所以我可以看看c&的扩散。 d相对于a和b。到目前为止,我还没有找到办法 - 我尝试在一个图表上组合多个数据集无济于事。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我发现现在您可以像这样在stat_ellipse中指定组:

stat_ellipse(geom = "polygon", alpha = 1 / 2, aes(fill = CATEGORY, group = CATEGORY))