如何更改 ggbiplot 的图例?
how can I change the legend for 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 ,如何将其也设置为其他名称?
你是这个意思还是我理解错了:
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"))
实际上我正在尝试通过这个包来绘制 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"))