使用自动绘图功能修改 PCA 双标图上的点笔画
Modify point stroke on a PCA biplot using autoplot function
我正在使用 autoplot
函数制作 PCA 双标图。就我而言,我想增加点笔画以提高情节的可读性。我该怎么做?
这是一个例子:
library(ggfortify)
df <- iris[c(1, 2, 3, 4)]
autoplot(prcomp(df), data = iris, colour="Species", fill="Species", shape="Species", geom="points", size=2) +
scale_color_manual(values=c("#1B9E77","#D95F02","#7570B3")) +
scale_fill_manual(values=c("#ffffff","#ffffff","#ffffff")) +
scale_shape_manual(values=c(21:23))
我通过将最后一行代码添加到图中找到了问题的解决方案:
library(ggfortify)
df <- iris[c(1, 2, 3, 4)]
p <- autoplot(prcomp(df), data = iris, colour="Species", fill="Species", shape="Species", geom="points", size=2) +
scale_color_manual(values=c("#1B9E77","#D95F02","#7570B3")) +
scale_fill_manual(values=c("#ffffff","#ffffff","#ffffff")) +
scale_shape_manual(values=c(21:23))
p$layers[[1]]$aes_params$stroke <- 2
p
我正在使用 autoplot
函数制作 PCA 双标图。就我而言,我想增加点笔画以提高情节的可读性。我该怎么做?
这是一个例子:
library(ggfortify)
df <- iris[c(1, 2, 3, 4)]
autoplot(prcomp(df), data = iris, colour="Species", fill="Species", shape="Species", geom="points", size=2) +
scale_color_manual(values=c("#1B9E77","#D95F02","#7570B3")) +
scale_fill_manual(values=c("#ffffff","#ffffff","#ffffff")) +
scale_shape_manual(values=c(21:23))
我通过将最后一行代码添加到图中找到了问题的解决方案:
library(ggfortify)
df <- iris[c(1, 2, 3, 4)]
p <- autoplot(prcomp(df), data = iris, colour="Species", fill="Species", shape="Species", geom="points", size=2) +
scale_color_manual(values=c("#1B9E77","#D95F02","#7570B3")) +
scale_fill_manual(values=c("#ffffff","#ffffff","#ffffff")) +
scale_shape_manual(values=c(21:23))
p$layers[[1]]$aes_params$stroke <- 2
p