我know how to use the PCA results to draw the circle,但未能根据x.lab
的绘图结果绘制y.lab
和s.class
。
如何制作我在这里发布的情节? 我想问一下这个问题。
如何根据另一个整数变量使点更大或更小?
可以ggplot2
绘制与s.class
相同的圈子吗? The previous answers不显示如何绘制圆圈。
答案 0 :(得分:6)
使用尺寸调整点杖的大小。可以通过stat_ellipsis
添加省略号pca <- prcomp(iris[iris$Species %in% c("virginica","versicolor"),1:4], retx = TRUE, scale = TRUE,tol=0.4)
predicted <-predict(pca,iris[,1:4])
ggplot(data.frame(predicted))+aes(x=PC1,y=PC2,color=iris$Species)+geom_point(aes(size=iris$Sepal.Length))+stat_ellipse()+stat_ellipse(level=0.8)
答案 1 :(得分:2)
我在pcoa
包的msap
函数中所做的是仅将s.class
用于省略号和质心:
添加空图,标签和限制取决于多个变量:
plot(0,0, main=paste(name,surname, sep=": "), type = "n",
xlab=paste("C1 (",var1,"%)"),ylab=paste("C2 (",var2,"%)"),
xlim=c(minX-10^floor(log10(abs(minX))),maxX+10^floor(log10(abs(maxX)))),
ylim=c(minY-10^floor(log10(abs(minY))),maxY+10^floor(log10(abs(maxY)))),
frame=TRUE, cex=1.5)
看看xlab。
用不同的颜色/符号绘制不同治疗/组的点数。 您可以在此处使用cex参数设置磅值。
for(i in 1:ntt){
points(spcoo[[i]], pch=21, col="black", bg=bgcolors[i])
}
最后使用ade4的c.class绘制椭圆,星星和组标签,但不是点(cpoint = 0)
s.class(pcol$points, groups, cpoint=0, col=bgcolors, add.plot=TRUE)
在我的代码中,我得到了一个像PCOA那样的数字: