问题描述
我正在尝试使用ggpubr软件包为该图中的每个组添加一个凸包吗?为什么它不起作用?
代码:
library(dplyr)
library(MASS)
library(ggplot2)
library(scales)
library(ggpubr)
library(data.table)
irisfda <- fda(Species ~ .,data = iris,method = mars)
df1 <- cbind(data.frame(irisfda$fit$fitted.values),species = iris[,"Species"])
ggplot(df1) +
geom_point(aes(X1,X2,color = species,shape = species),size = 2.5) +
labs(x = "FDA1",y = "FDA1") +
stat_chull(aes(color = species,fill = species),geom = "polygon",alpha = 0.1)
解决方法
您还没有告诉stat_chull
x和y点在哪里。您告诉了geom_point
它们在哪里,但是当您将它们添加到绘图中时,几何和统计信息不会彼此继承。您既可以将x和y坐标添加到stat_chull
,也可以将它们添加到ggplot
调用中。 然后 stat_chull
可以继承它们,和您可以保存一些键入内容。
顺便说一句,您使用了library
来调用dplyr,MASS,scales和data.table,这些在本示例中是不需要的,但是您忘记了mda
的库调用,而 :
library(ggplot2)
library(ggpubr)
library(mda)
irisfda <- fda(Species ~ .,data = iris,method = mars)
df1 <- cbind(data.frame(irisfda$fit$fitted.values),species = iris[,"Species"])
ggplot(df1,aes(x = X1,y = X2,color = species,shape = species)) +
geom_point(size = 2.5) +
labs(x = "FDA1",y = "FDA1") +
stat_chull(geom = "polygon",alpha = 0.1)