自定义ggbiplot点的边框

时间:2016-11-02 18:35:51

标签: r ggplot2 ggbiplot

使用通过devtools::install.github()提供的ggbiplot库给出以下代码:

library(ggbiplot)
data(iris)
log.ir <- log(iris[, 1:4])
ir.species <- iris[, 5]

ir.pca <- prcomp(log.ir, center = TRUE, scale. = TRUE)

g <- ggbiplot(ir.pca, obs.scale = 1, var.scale = 1, groups = ir.species)
g <- g + theme(legend.direction = 'vertical', legend.position = 'right')
g <- g + scale_color_manual(values=c("blue", "red", "green"))
print(g)

根据分组自定义数据点边框的最佳方法是什么?我使用scale_color_manual()来自定义这些数据点的颜色,但我无法想到为边界做到这一点的方法。

谢谢

1 个答案:

答案 0 :(得分:0)

假设你想调整数据点的边界......

ggbiplot()来电本身不会给您这种灵活性,但设置alpha = 0会使ggbiplot绘制的点不可见或真正100%透明。然后,您可以使用geom_point()调用创建一个单独的图层,其中您将shape指定为具有填充(中间)和颜色(边框)审美的5个形状(21-25)之一。

ggbiplot(ir.pca, obs.scale = 1, var.scale = 1, groups = ir.species, alpha = 0) +
    theme(legend.direction = 'vertical', legend.position = 'right') + 
    scale_color_manual(values=c("blue", "red", "green")) +
    scale_fill_manual(values = c("red", "green", "blue")) + # just offset by one to show
    geom_point(size = 3, shape = 21, aes(fill = groups, color = groups))

enter image description here

PS在您的问题中包含您使用的套餐只能通过devtools::install.github()而不是标准install.packages()

提供,这可能总是一个好主意。