在 fviz_pca_biplot 中为 var 和 ind 指定不同的点形
Specify different pointshapes for var and ind in fviz_pca_biplot
是否有任何方法可以从 R 包 FactoExtra 中为 fviz_pca_biplot()
中的变量指定形状?
例如我有以下代码:
data("iris")
PCA.iris <- prcomp(iris[ , -5], scale=TRUE)
BiPlot<- fviz_pca_biplot(PCA.iris,
geom = c("point", "text"),
geom.var = c("point", "text"),
palette="ucscgb",
label="var",
col.ind=iris$Species,
invisible="quali",
pointshape = 19, pointsize = 3) +
labs(colour= "Species" )+
theme_gray() +
theme(plot.title = element_text(hjust = 0.5,size = 20, face = "bold"),
legend.title = element_text(size = 12),
legend.text = element_text(size = 8),
legend.key.size = unit(0.5,"line") )+
guides(shape = guide_legend(override.aes = list(size = 4)),
color = guide_legend(override.aes = list(size = 4)) )
print(BiPlot)
但它使 var 和 ind 的形状相同,我想要 var 的形状 不同(形状 15)。当 geom.var = c("point", "text") 时,参数“pointshape”似乎适用于 var 和 ind设置为点。
我试过使用 scale_shape_manual()
:
BiPlot+
scale_shape_manual(values=15)
但它不适用,我猜这是由于 geom 中的“点”使用 geom_point,我无法指定我想应用它的点,但这只是一个疯狂的猜测.
是否可以将 var 和 ind 的点形状设置为不同的值,然后如何完成?
您在 fviz_pca_biplot
中仅对您的数据点使用“文本”,这将确保您的 var 形状为 15。然后您为您的个人数据点调用另一个 geom_point() 并指定形状:
library(ggsci)
library(factoextra)
data("iris")
PCA.iris <- prcomp(iris[ , -5], scale=TRUE)
BiPlot<- fviz_pca_biplot(PCA.iris,
geom = "text",
geom.var = c("point", "text"),
label="var",
col.ind=iris$Species,
invisible="quali",
pointshape = 15, pointsize = 3) +
geom_point(aes(col = Col.),shape=10)+
labs(colour= "Species" )+
scale_color_ucscgb() +
theme_gray()
是否有任何方法可以从 R 包 FactoExtra 中为 fviz_pca_biplot()
中的变量指定形状?
例如我有以下代码:
data("iris")
PCA.iris <- prcomp(iris[ , -5], scale=TRUE)
BiPlot<- fviz_pca_biplot(PCA.iris,
geom = c("point", "text"),
geom.var = c("point", "text"),
palette="ucscgb",
label="var",
col.ind=iris$Species,
invisible="quali",
pointshape = 19, pointsize = 3) +
labs(colour= "Species" )+
theme_gray() +
theme(plot.title = element_text(hjust = 0.5,size = 20, face = "bold"),
legend.title = element_text(size = 12),
legend.text = element_text(size = 8),
legend.key.size = unit(0.5,"line") )+
guides(shape = guide_legend(override.aes = list(size = 4)),
color = guide_legend(override.aes = list(size = 4)) )
print(BiPlot)
但它使 var 和 ind 的形状相同,我想要 var 的形状 不同(形状 15)。当 geom.var = c("point", "text") 时,参数“pointshape”似乎适用于 var 和 ind设置为点。
我试过使用 scale_shape_manual()
:
BiPlot+
scale_shape_manual(values=15)
但它不适用,我猜这是由于 geom 中的“点”使用 geom_point,我无法指定我想应用它的点,但这只是一个疯狂的猜测.
是否可以将 var 和 ind 的点形状设置为不同的值,然后如何完成?
您在 fviz_pca_biplot
中仅对您的数据点使用“文本”,这将确保您的 var 形状为 15。然后您为您的个人数据点调用另一个 geom_point() 并指定形状:
library(ggsci)
library(factoextra)
data("iris")
PCA.iris <- prcomp(iris[ , -5], scale=TRUE)
BiPlot<- fviz_pca_biplot(PCA.iris,
geom = "text",
geom.var = c("point", "text"),
label="var",
col.ind=iris$Species,
invisible="quali",
pointshape = 15, pointsize = 3) +
geom_point(aes(col = Col.),shape=10)+
labs(colour= "Species" )+
scale_color_ucscgb() +
theme_gray()