4

私には次の伝説があります:

ここに画像の説明を入力してください

「MeanandSD」の中央のテキストを見つけて、「---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))
4

1 に答える 1

2

legend座標をオブジェクトに割り当てることができます。これらの座標を使用して、2番目の凡例を配置できます。例えば、

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を使用して、2番目の凡例に新しい座標を提供できます。

#second legend
legend(x=my.legend.size$rect$left,y=my.legend.size$rect$top-    
my.legend.size$rect$h,c("Series4","Series5","Series6"))

ここに画像の説明を入力してください

2番目の凡例の幅が最初の凡例よりも大きいことに気づきました。ここでの秘訣は、2番目の凡例の座標を取得することですが、2番目の凡例,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"))

ここに画像の説明を入力してください

PS:配置が完璧であることを示すために、凡例の周りにボックスを残しましたが、を使用してそれらを削除できますbty = "n"

于 2012-05-20T08:11:04.667 に答える