gpt4 book ai didi

r - 在 R 中现有图例的底部放置附加图例

转载 作者:行者123 更新时间:2023-12-04 11:17:03 25 4
gpt4 key购买 nike

我有以下传说:

enter image description here

如何使用“Mean and SD”定位中心文本,以便
它可以正好放在“---emp”下。?

生成的代码是这样的:

L = list(bquote(Em.Mean ==.(new_avg)),
bquote(Em.SD==.(new_std)), bquote(Th.Mean ==.(theor_avg)),
bquote(Th.SD==.(theor_sd)))

legend("topright", c(kids,"emp."), cex=0.7, bty="n", col=c(cm.colors(6), "red"),
pch=c(rep(19, 6), -5), lty = c(0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0), )

# How can I locate this
legend("topcenter", cex=0.5, bty="n", legend=sapply(L, as.expression))

最佳答案

legend坐标可以分配给一个对象。然后可以使用这些坐标来放置第二个图例。例如,

x <-10:1
y <-11:20
plot(x,y,type="h")
my.legend.size <- legend("topright",c("Series1","Series2","Series3"))
> my.legend.size
$rect
$rect$w
[1] 1.599609

$rect$h
[1] 1.506977

$rect$left
[1] 8.760391

$rect$top
[1] 20.36


$text
$text$x
[1] 9.266641 9.266641 9.266641

$text$y
[1] 19.98326 19.60651 19.22977

使用 $rect$left、$rect$top 和 $rect$h,您可以为第二个图例提供新坐标。
#second legend
legend(x=my.legend.size$rect$left,y=my.legend.size$rect$top-
my.legend.size$rect$h,c("Series4","Series5","Series6"))

enter image description here

我注意到你的第二个图例的宽度比第一个大。这里的技巧是获取第二个图例的坐标,但不使用 ,plot = FALSE 打印它。第二个图例的 x 坐标是 my.legend.size2$rect$left .
x <-10:1
y <-11:20
plot(x,y,type="h")
my.legend.size <-legend("topright",c("Series1","Series2","Series3"))
my.legend.size2 <-legend("right",c("Long series name","Series5","Series6"),plot = FALSE)
legend(x=my.legend.size2$rect$left,y=my.legend.size$rect$top-
my.legend.size$rect$h,c("Long series name","Series5","Series6"))

enter image description here

PS:我在图例周围留下了框以表明放置是完美的,但您可以使用 bty = "n" 删除它们。

关于r - 在 R 中现有图例的底部放置附加图例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10598758/

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