我有一个大数据集,正在尝试绘制主成分分析。我对最终的情节相当满意,但我想改变一些事情:
箭头:它们似乎位于背景中并被数据点覆盖。1)我怎样才能将它们放在前台?2)如何更改颜色和喜欢的尺寸?
省略号:3)如何使线条变粗?
图例4)如何放入情节本身的右上方?
提前致谢!!
这是我得到该图的方法:
g <- ggbiplot(LS_3.pca, choices = 1:2, scale = 1, pc.biplot =
TRUE, obs.scale = 1, var.scale = 1, groups =
LS.loc, ellipse = TRUE, ellipse.prob = 0.98, labels =
NULL, labels.size = 5, alpha = 0.25, circle
= FALSE, circle.prob = 0.69, varname.size = 5,
varname.adjust = 1.5, varname.abbrev = FALSE, var.axes = TRUE)
g <- g + xlim(-8, 6) + ylim(-4, 6)
g <- g + theme_classic()
print(g)
Run Code Online (Sandbox Code Playgroud)
ggbiplot 返回“ggplot”类的对象。如果您检查该对象,您会发现它包含一个名为“图层”的列表。geom_segment 图层出现在 geom_point 图层之前。您想要重新排序这些。如果 geom_segment 图层是第 2 层(共 4 层),您可以执行以下操作(例如):
myplot$layers <- c(myplot$layers, myplot$layers[[2]])
Run Code Online (Sandbox Code Playgroud)
这将在列表末尾附加一个额外的层(绘制箭头),并且该层将在绘制点(在前一层中)之后绘制。此 hack 足以提供您所需的功能。
编辑:我意识到这个答案仅涵盖将箭头放在前景的问题。这是我遇到的问题,所以我在这里提供我的解决方案供其他人使用。要解决其他问题,我建议在控制台输入:
ggbiplot
Run Code Online (Sandbox Code Playgroud)
不带括号,它将列出函数体。剪切并粘贴到定义新函数(例如“my_ggbiplot”)的新 R 脚本中,然后进行修改以获得您想要的内容。这不是一个很长的函数,而且很容易弄清楚每个函数的作用。然而,为了使箭头前景化,上面的一行修复将起作用。