首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从R包fviz_pca FactoExtra中指定颜色和形状图例

从R包fviz_pca FactoExtra中指定颜色和形状图例
EN

Stack Overflow用户
提问于 2021-11-03 03:47:51
回答 1查看 1.2K关注 0票数 0

例如,当有两个组变量时,以下修改的iris数据集(添加一个因子变量Site):

代码语言:javascript
复制
SepalLengthCm   SepalWidthCm    PetalLengthCm   PetalWidthCm    Species Site
5.1 3.5 1.4 0.2 Iris-setosa A
4.9 3   1.4 0.2 Iris-setosa A
4.7 3.2 1.3 0.2 Iris-setosa A
4.6 3.1 1.5 0.2 Iris-setosa A
5   3.6 1.4 0.2 Iris-setosa A
5.4 3.9 1.7 0.4 Iris-setosa A
5.2 3.4 1.4 0.2 Iris-setosa A
4.7 3.2 1.6 0.2 Iris-setosa A
4.8 3.1 1.6 0.2 Iris-setosa A
7   3.2 4.7 1.4 Iris-versicolor A
6.4 3.2 4.5 1.5 Iris-versicolor A
6.9 3.1 4.9 1.5 Iris-versicolor A
5.5 2.3 4   1.3 Iris-versicolor A
6.5 2.8 4.6 1.5 Iris-versicolor A
5.7 2.8 4.5 1.3 Iris-versicolor B
6.3 3.3 4.7 1.6 Iris-versicolor B
4.9 2.4 3.3 1   Iris-versicolor B
6.6 2.9 4.6 1.3 Iris-versicolor B
5.2 2.7 3.9 1.4 Iris-versicolor B
6.3 3.3 6   2.5 Iris-virginica  B
5.8 2.7 5.1 1.9 Iris-virginica  B
7.1 3   5.9 2.1 Iris-virginica  B
6.3 2.9 5.6 1.8 Iris-virginica  B
6.5 3   5.8 2.2 Iris-virginica  B
7.6 3   6.6 2.1 Iris-virginica  B
4.9 2.5 4.5 1.7 Iris-virginica  B
7.3 2.9 6.3 1.8 Iris-virginica  B
6.7 2.5 5.8 1.8 Iris-virginica  B
7.2 3.6 6.1 2.5 Iris-virginica  B

我想:

(1)将点颜色映射到Iris$物种,将映射点形状映射到Iris$site

2)将图例标题改为“颜色”或“形状”。

我所用的密码:

代码语言:javascript
复制
library(factoextra)

data(Iris)
res.pca <- PCA(Iris[,1:4], graph = F)

fviz_pca_biplot(res.pca,
                #individuals
                geom.ind="point",
                col.ind=Iris$Species,
                pointshape=Iris$Site,
                
                #variables
                col.var="steelblue")

当我使用pointshape=Iris$Site时,它会出现一个错误

错误:美学必须是长度1或与数据(3):形状相同

1)如何将各个点映射到多个不同的组?

2)如何编辑图例标题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-03 05:14:13

因为基于ggbiplot对象的ggplot(),您可以使用geom_point手动添加点和形状,

代码语言:javascript
复制
iris.pca <- PCA(iris[,1:4], graph = F)
fviz_pca_biplot(iris.pca,obs.scale = 1, var.scale = 1, alpha=0, col.var="steelblue") + 
  geom_point(aes(shape = factor(iris$Site), colour = factor(iris$Species))) +
  guides(shape = guide_legend(title = "shape"),
         colour = guide_legend(title = "color"))

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69819457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档