m1とm2の2つの方法で返された結果を同じ図にプロットしたいと思います。私の特定のケースでは、最初のメソッドのラベルは式であり(添え字があるため)、2番目のメソッドのラベルは2行にあります(長いため)。ただし、次の2つの要件があると機能しません。
l <- list("m1"=list(data=1:10, col=2, label=expression(paste("method 1 (", X[a], ")"))))
l[["m2"]] <- list(data=rep(3,10), col=3, label="method 2 (with a\nlong explanation)")
plot(l[["m1"]]$data, col=l[["m1"]]$col); points(l[["m2"]]$data, col=l[["m2"]]$col)
legend("topleft", legend=c(l[["m1"]]$label, l[["m2"]]$label), col=c(l[["m1"]]$col, l[["m2"]]$col), pch=1)
凡例からわかるように、2番目のラベル(2行に1つ)が最初のラベルと重なっています。
最初のラベルに式を使用しない場合、問題は解消されます。
legend("topleft", legend=c("method 1 (Xa)", l[["m2"]]$label), col=c(l[["m1"]]$col, l[["m2"]]$col), pch=1)
2番目のラベルが1行にある場合も、この問題は解消されます。
legend("topleft", legend=c(l[["m1"]]$label, "method 2 (with a long explanation)"), col=c(l[["m1"]]$col, l[["m2"]]$col), pch=1)
ただし、実際には式と2行の両方が必要です。何か案が?
ps:LubuntuでR2.14.1を使用しています。