如何在ggfortify的autoplot PCA图中调整特征向量线宽?
调整ggfortify PCA图中特征向量的线宽
ggfortify的autoplot()函数本身没有提供直接设置特征向量线宽的参数,但因为它返回的是标准ggplot对象,我们可以直接修改对应图层的参数来实现需求。
修改后的示例代码
library(ggfortify) library(ggrepel) data(iris) df <- iris[1:4] pca_res <- prcomp(df, scale. = TRUE) # 生成包含特征向量的基础PCA图 plt <- autoplot( pca_res, data = iris, colour = 'Species', label.size = 3, loadings = TRUE, loadings.colour = "red", loadings.label = TRUE, loadings.label.repel = TRUE, loadings.label.size = 3 ) # 定位特征向量对应的图层并修改线宽(此处设为1.5,可按需调整数值) plt$layers[[2]]$aes_params$size <- 1.5 # 展示图形 plt
原理说明
autoplot()生成的PCA图中,特征向量由geom_segment图层绘制,它是返回对象中的第二个图层(R中列表索引从1开始)。通过直接修改该图层的size参数,就能精准调整特征向量的线宽,不会影响图中的其他元素(如样本点、标签等)。
内容的提问来源于stack exchange,提问作者maurobio
相关产品推荐
相关产品推荐

