实际上,我正在尝试通过此程序包绘制PCA,但是在绘制负载时,我无法根据需要更改图例(例如,如果要将图例设置为(+)M,则会显示其他内容。我的工作如下:
library(ggbiplot)
require(ggplot2)
data(iris)
data <- data.frame(iris[,1:4])
ir.pca <- prcomp(data, center = TRUE, scale. = TRUE)
theta <- seq(0,2*pi,length.out = 100)
circle <- data.frame(x = cos(theta), y = sin(theta))
p <- ggplot(circle,aes(x,y)) + geom_path()
loadings <- data.frame(ir.pca$rotation,
.names = row.names(ir.pca$rotation))
p + geom_text(data=loadings,
mapping=aes(x = PC1, y = PC2, label = .names, colour = .names)) +
coord_fixed(ratio=1) +
labs(x = "PC1", y = "PC2")
现在的问题是,如果您将变量名称更改为例如(+)C,(-)C,(*)C和(%)C然后绘图,它将在图例中显示其他内容
另一方面,图例的标题是.name,又如何将其设置为其他名称?
这是您的意思,还是我误会了:
loadings <- data.frame(ir.pca$rotation,
.names = row.names(ir.pca$rotation),
names2 = c("(+)C" , "(-)C", "(*)C", "(%)C"))
p + geom_text(data=loadings,
mapping=aes(x = PC1, y = PC2, label = names2, colour = .names)) +
coord_fixed(ratio=1) +
labs(x = "PC1", y = "PC2", colour="Legend Title")
更新:这是geom_text
在图例中和图例中使文本加粗的方法:
p + geom_text(data=loadings,
mapping=aes(x = PC1, y = PC2, label = names2, colour = .names),
fontface="bold") +
coord_fixed(ratio=1) +
labs(x = "PC1", y = "PC2", colour="Legend Title") +
theme(legend.text=element_text(face="bold"))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句