0

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

如图所示,我想将 GrainSize 标签放在三角形内的三个环绕边界上。我正在使用带有 ggplot2 的 ggalt 包中的 geom_encircle() 命令。

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

4

1 回答 1

1

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

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 包(v2.0.0)于 2021-09-14 创建

于 2021-09-14T07:26:20.873 回答