gpt4 book ai didi

r - 在 ggbiplot 中指定箭头(线段)的颜色、透明度和位置

转载 作者:行者123 更新时间:2023-12-04 06:30:16 32 4
gpt4 key购买 nike

我正在创建一个包含多变量数据的 PCA 双图。

有没有办法在 ggbiplot 中指定线段的颜色/透明度/位置?此命令的所有参数均未提供此选项。

我知道 ggbiplot 是基于 ggplot - 它可能接受 aes 参数吗?或者可以在创建的绘图上使用一层颜色/透明度/位置来覆盖默认值吗?

具体来说,关于位置,如果可能的话,我想对线段进行抖动(尽管使它们更透明可能已经解决了问题)。

工作示例,使用 iris 数据:

#load required packages
library(ggplot2)
library(devtools)
library(ggbiplot)

#load dataset
data(iris)

#perform principal component analysis
pca = prcomp(iris[ , 1:4], scale=T)

#define classes, generate & view PCA biplot
class = iris$Species
ggbiplot(pca, obs.scale = 1, var.scale = 1, groups = class, circle = FALSE,
varname.size = 1, varname.adjust = 6)

非常感谢 - 感谢任何帮助!

亲切的问候。

最佳答案

看来你需要稍微改变一下ggbiplot函数。在控制台中输入 ggbiplot,将代码复制到编辑器中。在 functionarglist 中,为箭头添加颜色、线型和透明度(“alpha”)的“name = expression”术语。

ggbiplot2 <- function (pcobj, choices = 1:2, scale = 1, pc.biplot = TRUE, 
obs.scale = 1 - scale, var.scale = scale, groups = NULL,
ellipse = FALSE, ellipse.prob = 0.68, labels = NULL, labels.size = 3,
alpha = 1, var.axes = TRUE, circle = FALSE, circle.prob = 0.69,
varname.size = 3, varname.adjust = 1.5, varname.abbrev = FALSE,
color = muted("red"), # <- add new arguments to the function
linetype = "solid",
alpha_arrow = 1)

然后搜索 geom_segment 部分,并为 colorlinetypealpha 添加参数:

g <- g + geom_segment(data = df.v, aes(x = 0, y = 0, xend = xvar, yend = yvar),
arrow = arrow(length = unit(1/2, "picas")),
color = color, linetype = linetype, alpha = alpha_arrow)

将已编辑的功能分配给新名称,例如ggbiplot2。试试吧,你可以在其中设置箭头的默认值以外的值:

ggbiplot2(pca, obs.scale = 1, var.scale = 1, groups = class, circle = F, varname.size = 1, varname.adjust = 6,
color = "blue", linetype = "dashed", alpha_arrow = 0.5) # <- use the new arguments

enter image description here

关于r - 在 ggbiplot 中指定箭头(线段)的颜色、透明度和位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25995173/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com