#r #ggplot2 #ggforce
Вопрос:
Эллипс, отмеченный geom_mark_ellipse
в ggforce
пакете, неправильно работает при использовании двух точек.
Ниже я показываю пример
Данные:
transecta MDS1 MDS2 grupo
CLOA1 CLOA1 0.56852742 0.294150091 mmx clausura
CLOA2 CLOA2 0.88257101 0.151361099 mmx clausura
CLOA3 CLOA3 1.05422157 0.202652263 pastizal clausura
CLOA6 CLOA6 0.34475209 -0.168575457 mmx clausura
CLOA7 CLOA7 -0.73184407 -0.277142902 ba clausura
CLOA8 CLOA8 -0.03496517 -0.732031748 ba clausura
OAT1 OAT1 -0.51507135 0.424460141 mmx transecta
OAT2 OAT2 -0.15854319 0.266485510 mmx transecta
OAT3 OAT3 -0.86233409 0.022687344 mmx transecta
OATCOI1 OATCOI1 -0.86519268 -0.004470466 ba transecta
OATCOI3 OATCOI3 -0.86632557 0.230568674 ba transecta
OATCOIEC1 OATCOIEC1 -0.80751803 0.320056234 ba transecta
OATMMX3 OATMMX3 -0.42566740 -0.110641894 mmx transecta
OATMMXEC2 OATMMXEC2 -0.09455770 0.760007755 mmx transecta
OATP1 OATP1 0.36207279 0.424046062 pastizal transecta
OATP2 OATP2 0.56614390 0.470124863 pastizal transecta
Код:
library(ggplot2);library(ggforce)
gg1<-ggplot(data,aes(x=MDS1,y=MDS2))
# stat_contour(data=ordi.AC.na, aes(x=x, y=y, z=z), binwidth = 5,alpha=0.9)
# geom_raster(data=ordi.AC.na, aes(x=x, y=y, fill = z,alpha=0.9))
geom_point(aes(color=grupo))
geom_mark_ellipse(aes(color=grupo))
geom_text_repel(aes(label=transecta,color=grupo))
theme_bw()
theme(panel.grid.minor.y = element_blank(),
panel.grid.minor.x = element_blank());gg1
Результат:
Комментарии:
1. Похоже, есть нерешенные проблемы с ggforce, хотя, похоже, они достаточно похожи на ваш случай.
2. Две точки определяют прямую линию, а не кривую, замкнутую или нет. Я говорю это, не взглянув на код, поэтому не стесняйтесь игнорировать мой комментарий.
3. Эллипсы имеют две центральные точки.