这就是我想把文本标签放在箭头指向的位置上:

以下是我的研究结果:

我想把文字标签放在箭头指向的位置,我使用了库(Ggrepel)。
我的代码是
p <- ggplot(rda_tb_fs.site, aes(RDA1, RDA2)) +
geom_vline(xintercept = 0, color = 'gray', size = 0.5) +
geom_hline(yintercept = 0, color = 'gray', size = 0.5) +
geom_segment(data = rda_tb_fs.env,
aes(x = 0,y = 0, xend = RDA1,yend = RDA2),
arrow = arrow(length = unit(0.4, 'cm'),
angle=20,
type = "open"),
size = 1,
lineend="round",
linejoin="mitre",
color='blue'
) +
geom_text_repel(data = rda_tb_fs.env,
aes(RDA1*1.06, RDA2 *1.05,
label=c("K","pH","ORP",
"HCO3","WTO")
))我理解当RDA1是正数时,我需要的是RDA1+0.1,但是当RDA1是否定的--我需要的是RDA1-0.1时,我只是不知道如何使用这个条件语句。
发布于 2022-10-03 09:49:48
我将geom_text_ggrepel()改为geom_text(),并在geom_text(aes())中做了一些修改,它起作用了:
geom_text(data = rda_tb_fs.sp,
aes(
((RDA1^2+RDA2^2)^0.5+0.15)/(RDA1^2+RDA2^2)^0.5*RDA1,
((RDA1^2+RDA2^2)^0.5+0.15)/(RDA1^2+RDA2^2)^0.5*RDA2,
label=c("Cd","Cr","Zn","Ni",
"Cu","Pb","Co","Fe",
"Mn","As","Ti"
)
),
size =5,
fontface = "bold",
family="Times New Roman",
color='red',
parse = T,
)https://stackoverflow.com/questions/73919284
复制相似问题