【问题标题】:Restrict stat_ellipse to certain data points将 stat_ellipse 限制为某些数据点
【发布时间】:2017-10-24 10:41:41
【问题描述】:

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

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)而不是全部四个画椭圆,那将是理想的,这样我就可以查看 c 和 d 相对于 a 和 b 的分布.到目前为止,我还没有找到一种方法——我尝试在一个图表上组合多个数据集,但无济于事。有什么建议吗?

【问题讨论】:

  • stat_ellipse(data = subset(topicsubset_ikf, CATEGORY %in% ....) 尝试对提供给 geom 的数据进行子集化。
  • 太完美了!非常感谢。

标签: r ggplot2 ellipse


【解决方案1】:

我有同样的问题,我发现现在你可以像这样在 stat_ellipse 中指定组:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-16
    相关资源
    最近更新 更多