在 corrplot 的 x 轴下添加附加信息

Adding additional information under corrplot's x axis

我正在尝试在 corrplot 的 x 轴下添加 "cumulative proportional variance explained"(来自 PCA)。我参考了 corrplot 手册,但没有找到任何说明。下面是我目前使用示例数据的代码。

library("FactoMineR")
library("factoextra")
library("corrplot")

data(decathlon2)
decathlon2.active <- decathlon2[1:23, 1:10]

res.pca <- PCA(decathlon2.active, graph = FALSE)
var <- get_pca_var(res.pca)
corrplot(var$cos2, is.corr=FALSE)

##getting cumulative variance explained from res.pca
variance <- res.pca$eig*100/sum(res.pca$eig)
cumvar <- cumsum(variance)

问题是如何将 cumvar 信息插入 corrplot 的 x 轴,以便它们与 [=11] 顶部相应的 dim* 匹配=],这样就不需要做碎石图了。

有人知道怎么做吗?任何帮助将不胜感激。

如果要在 x 轴底部显示这些数字:

  1. 重复你的计算

    library("FactoMineR")
    library("factoextra")
    library("corrplot")
    
    data(decathlon2)
    decathlon2.active <- decathlon2[1:23, 1:10]
    
    res.pca <- PCA(decathlon2.active, graph = FALSE)
    var <- get_pca_var(res.pca)
    
    variance <- res.pca$eig*100/sum(res.pca$eig)
    cumvar <- cumsum(variance)
    
  2. 在底部制作带有额外 space 的绘图

    corrplot(var$cos2, is.corr=FALSE, mar=c(4,0,0,0))
    
  3. 添加单元格下解释的方差比例:

    text(1:5, 0, round(cumvar[1:5], 2), xpd=TRUE)
    

结果: