Как я могу изменить легенду для ggbiplot?
На самом деле я пытаюсь построить 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, как также установить это к чему-то еще?
1 ответ
Решение
Это то, что вы имеете в виду, или я неправильно понимаю:
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"))