用于prcomp的自动绘图 - 更改符号

时间:2016-10-27 14:58:37

标签: r plot ggplot2 pca

我有一点策划困境,我希望你们都有一个快速简单的答案。我使用prcomp()运行PCA,并且第一次尝试使用ggplot绘制它。我已经成功地创造了一个美学上令人愉悦的人物,但是我刚才有同事指出它目前并不是色盲友好的。

我使用的配色方案不容易改变(因为这个PCA绘图需要协调的许多其他图形),所以我一直试图改变我的图形以包括每个组的不同符号。 / p>

我发现另一个post提到使用scale_shape_manual()来添加这些符号,但是当我尝试实现它时,符号类型不会改变。它也没有给我一个错误,这让我不知道从哪里开始排除故障。

每个人最喜欢的PCA数据集iris的示例如下:

library(ggplot2)
library(ggfortify)

df <- iris[c(1, 2, 3, 4)]
iris.pca<-(prcomp(df))

autoplot(iris.pca, data=iris, colour="Species", frame=TRUE)+
  scale_colour_manual(values=c("forestgreen","red","blue"))+
  scale_fill_manual(values=c("forestgreen","red","blue"))+
  scale_shape_manual(values=c(25,22,23))+
  theme_bw()

如果有人有关于如何轻松更改这些符号的建议,或者对于这种更改更合作的其他绘图功能,我将非常感激。

1 个答案:

答案 0 :(得分:2)

简单的解决方案如下(shape =“Species”需要添加到原始autoplot函数中):

library(ggplot2)
library(ggfortify)

df <- iris[c(1, 2, 3, 4)]
iris.pca<-(prcomp(df))

autoplot(iris.pca, data=iris, colour="Species", shape="Species",frame=TRUE)+
  scale_colour_manual(values=c("forestgreen","red","blue"))+
  scale_fill_manual(values=c("forestgreen","red","blue"))+
  scale_shape_manual(values=c(25,22,23))+
  theme_bw()