将标签添加到 R 中的分类点边界

Add labels to classification points boundaries in R

我正在做一个项目,在这个项目中,我必须在我的图表上为一些散点周围的边界(圆圈)添加标签。[![在此处输入图像描述][2]][ 2]

如图所示,我想在三角形内的三个圈出的边界上放置GrainSize标签。我正在使用 ggalt 包中的 geom_encircle() 命令和 ggplot2.

例如:上面的图有 3 个类别,Setosa、Versicolor 和 Verginica 我希望这些标签也放在分类边界上,就像 setosa 的日食应该被标记为 setosa 和类似的其他 2 个类别。 我发现 ggforce 包很有用,但仅限于 eclips 或圆形,有什么方法可以在这三个圆圈上贴上标签(Setosa、Versicolor 和 Verginica)

您可以尝试创建一个单独的标签数据框并根据需要放置分组标签;在这里寻找一个简单的解决方案。

library(ggplot2)
library(ggalt)
library(dplyr)

labs <- 
  iris %>% 
  group_by(Species) %>% 
  filter(Sepal.Length == max(Sepal.Length))
  

ggplot(iris, aes(Sepal.Width, Sepal.Length, colour = Species))+
  geom_point()+
  geom_encircle(expand = 0.01)+
  geom_text(data = labs, 
            aes(Sepal.Width, Sepal.Length, label = Species),
            nudge_y = 0.15)+
  theme(legend.position = "none")

reprex package (v2.0.0)

于 2021-09-14 创建